电脑技术学习

对话 UNIX,第 12 部分: 自己动手完成项目

dn001

  在其他文件中,Makefile.in、configure、configure.ac 和 aclocal.m4 用于生成在您的 Unix 版本中编译 SQLite 软件的脚本和规则。如果这个软件足够简单,那么要编译其代码,可能只需要一条简单的编译命令即可。但是,因为存在如此之多的 UNIX 变种(Mac OS X、Solaris、Linux、IBM® AIX® 和 HP/UX 等等),所以必须对宿主计算机进行分析,以确定它的功能及其实现。例如,邮件阅读应用程序可能会尝试确定本地系统是如何存储邮箱的,并包含对该格式的支持。

  集中精力感受源代码

  下一个步骤是探查系统并配置该软件,以便进行正确地构建。(您可以将这个步骤想象为裁剪一件衣服:这件衣服大小基本合适,但是需要进行一定的修改以使其更加时尚。)您需要进行自定义工作,并为使用 ./configure 本地脚本进行编译做好准备。在命令行提示处,键入:$ ./configure

  这个配置脚本进行了几项测试,以证明您的系统是合格的。例如,在一台 Apple MacBook 计算机上(其中运行着 FreeBSD® UNIX 的一个变种)运行 ./configure,将产生以下结果(请参见清单 2):

  清单 2. 在 Mac OS X 上运行 ./configure 的结果

checking build system type... i386-apple-darwin8.9.1
checking host system type... i386-apple-darwin8.9.1
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc... /usr/bin/ld
...

标签: