【发布时间】:2012-02-10 12:19:42
【问题描述】:
目前,我们的安装说明是:
autoreconf -fi
./configure
...
autoreconf 步骤从configure.ac 生成configure 文件,从Makefile.in 生成Makefile.in。如果未安装其中一个依赖项(例如 pkg-config),configure 和 autoreconf 都会失败,尽管后者会打印一条神秘的错误消息。
在发布源码包时,是否应该在包中提供configure 脚本?如果必须分发,还需要包含哪些其他文件?还创建了目录build-aux 和autom4te.cache 以及文件aclocal.m4。
【问题讨论】:
-
在 SCM 存储库中,不应存在任何自动生成的内容(包括配置); tarball 应该包含 autoreconf -fi/autogen.sh/bootstrap 之后的状态(或者只使用
make dist)。 -
@jørgensen 回答这个问题,我没有完全意识到
make dist是这里的关键 -
我也很好奇为什么分发配置脚本很好。对我来说,运行
autogen.sh似乎同样容易(而且更干净)。 -
@LeifGruenwoldt autogen.sh(通常称为
autoreconf -fi)需要存在依赖项。如果它们丢失,您可能会收到隐秘的错误。另一个原因是configure脚本的生成需要autoconf(通常也是automake),一旦你有了configure脚本,就不再需要了。 -
@Lekensteyn 谢谢。我想我希望如果有人安装了编译项目的工具,他们也可以只安装 autotools,但也许并不是每个人都可以使用。啊,现代发行版的便利。
标签: autoconf