EATURE'来禁用他,这里'FEATURE'是特性的名字.例如: $ ./configure --disable-gui -enable-FEATURE[=ARG] 相反的,一些软件包可能提供了一些默认被禁止的特性,能够使用'--enable-FEATURE'来起用他.这里'FEATURE'是特性的名字.一个特性可能会接受一个可选的参数.例如: $ ./configure --enable-buffers=128 `--enable-FEATURE=no'和上面提到的'--disable-FEATURE'是同义的. --with-PACKAGE[=ARG] 在免费软件社区里,有使用已有软件包和库的优秀传统.当用'configure'来配置一个源码树时,能够提供其他已安装的软件包的信息.例如, 倚赖于Tcl和Tk的BLT器件工具包.要配置BLT,可能需要给'configure'提供一些关于我们把Tcl和Tk装的何处的信息: $ ./configure --with-tcl=/usr/local --with-tk=/usr/local '--with-PACKAGE=no'和下面将提到的'--without-PACKAGE'是同义的. --without-PACKAGE 有时候您可能不想让您的软件包和系统已有的软件包交互.例如,您可能不想让您的新编译器使用GNU ld.通过使用这个选项能够做到这一点: $ ./configure --without-gnu-ld --x-includes=DIR 这个选项是'--with-PACKAGE'选项的一个特例.在Autoconf最初被研发出来时,流行使用'configure'来作为 Imake的一个变通方法来制作运行于X的软件.'--x-includes'选项提供了向'configure'脚本指明包含X11头文档的目录的方 法. --x-libraries=DIR 类似的,'--x-libraries'选项提供了向'configure'脚本指明包含X11库的目录的方法. 在源码树中运行'configure'是不必要的同时也是不好的.一个由'configure'产生的良好的'Makefile'能够构筑源码属于另一 棵树的软件包.在一个单独于源码的树中构筑派生的文档的好处是很明显的:派生的文档,如目标文档,会凌乱的散布于源码树.这也使在另一个不同的系统或用不 同的配置选项构筑同样的目标文档很困难.建议使用三棵树:一棵源码树(source tree),一棵构筑树(build tree),一棵安装树(install tree).这里有一个很接近的例子,是使用这种方法来构筑GNU malloc包: $ gtar zxf mmalloc-1.0.tar.gz $ mkdir build && cd build $ ../mmalloc-1.0/configure creating cache ./config.cache checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for a BSD compatible install... /usr/bin/install -c checking host system type... i586-pc-linux-gnu checking build system type... i586-pc-linux-gnu checking for ar... ar checking for ranlib... ranlib checking how to run the C preprocessor... gcc -E checking for unistd.h... yes checking for getpagesize... yes checking for working mmap... yes checking for limits.h... yes checking for stddef.h... yes updating cache ../config.cache creating ./config.status 这样这棵构筑树就被配置了,下面能够继续构筑和安装这个包到默认的位置'/usr/local': $ make all && make install
一个软件包通过编译源代码安装后,如何完全的卸载??
如果原先的source还在的话,很多source的Makefile都有写uninstall规则,直接在Souce里make uninstall就可行,不过碰到无良作者没写的,那一句一句看Makefile里install部分他都干了些什么,然后挨个删除。 如果source没了.....那就一边郁闷吧
到目前为止, 我装的都可以make uninstall....... (因为总是不小心装错地方, 结果就make uninstall&&make clean,然后重新configure......)
|