【问题标题】:Which processes in the autoconf and automake flowchart are performed by who and when?autoconf 和 automake 流程图中的哪些流程由谁以及何时执行?
【发布时间】:2016-11-21 02:47:39
【问题描述】:
在https://en.wikipedia.org/wiki/Automake的autoconf和automake流程图中,有几个流程
- 自动扫描
- 本地
- 自动标题
- 自动配置
- 自动制作
- 配置
- 制作
执行了哪些流程
- 软件程序的用户在下载了软件程序的分发版后
- 由从其源代码创建软件程序分发的一方(并且可能是该软件程序的作者)?
我问这个问题是因为我记得我作为某个软件程序的用户下载了它的源代码分发后,我从源代码分发中构建可执行文件的命令是autoconf、./configure 和make。所以我猜想流程图中的其他过程是在软件程序的作者创建分发的过程中执行的。我说的对吗?
谢谢。
【问题讨论】:
标签:
autotools
autoconf
automake
【解决方案1】:
软件程序的用户在下载软件程序的分发后会执行哪些过程
这取决于你想做什么。很多人只是通过基本的构建命令来配置、构建和安装软件包:
# ./configure; make; make install
在这些情况下,您无需调用autoreconf、autoconf、automake,即使您正在修补源代码。如果修改范围大到需要修改configure.ac 或Makefile.am 文件,那么可能需要调用其他工具。 configure 通常足够聪明,可以自动代表您调用它们。
autoscan 仅用于将您的软件包移植到 GNU 构建系统。 autoheader 也是如此。一旦你有了基本的configure.ac 和config.h.in,你就不再需要这些工具了。这些工具很好,但生成上述文件不是必需的。
从源代码创建软件程序分发的一方(以及可能是软件程序的作者)执行哪些流程?
如果您有某种自动化软件构建,我想它会调用 autoreconf -fvi 并可能在从 VCS 重新结帐后执行一些其他步骤。这就是为什么有bootstrap.sh 或autogen.sh 脚本的原因。这基本上调用aclocal、autoconf 和automake 来编写configure。然后基本上configure; make distcheck; 进行分发。