【发布时间】:2013-10-09 05:34:03
【问题描述】:
我是 Autotools 的新手。据我了解,使用 Autotools 构建软件的基本步骤如下:
autoreconf --install./configuremake
但是,我注意到大多数开源软件包(在 Linux 上)不需要第 1 步。他们大多数时候只需要第 2 步和第 3 步来构建。似乎它们已经与Makefile.in 打包在一起。我想知道为什么?他们是手动编码Makefile.in,还是软件开发人员在创建软件包之前使用autoreconf 生成Makefile.in?
谢谢。
【问题讨论】:
-
好的。我想我自己得到了一个可能的答案:不需要用户运行“autoreconf”,软件包对最终用户系统的要求较低。 IE。最终用户无需安装 Autotools。我认为这实际上是一个很大的理由。
-
没错;当
configure运行时,用户只需要几个脚本解释器(Bourne shell、sed,也许还有 perl),以及编译器工具链。即使缺少所有库依赖项,configure脚本也应该能够运行并诊断问题或解决问题。当您运行make dist-gzip时,您会得到一个包含configure脚本的tarball,以及打包的所有*.in模板文件,因此用户不必执行需要自动工具的前面步骤。
标签: linux autotools autoreconf