autoconf和automake流程图中的哪些进程由谁和何时执行?

时间:2016-07-18 13:13:45

标签: autotools autoconf automake

https://en.wikipedia.org/wiki/Automake的autoconf和automake的流程图中,有几个过程

  • 自动扫描
  • alocal
  • autoheader就
  • autoconf的
  • 的automake
  • 配置
  • 使

执行哪些流程

  • 由软件程序的用户下载软件程序的分发后
  • 由从源代码创建软件程序分发的一方(以及可能是软件程序的作者)?

我问这个问题,因为我记得在我作为某个软件程序的用户下载了它的源代码发布之后,我从源代码发行版中运行以构建可执行文件的命令是autoconf,{{1 }和./configure。所以我猜测流程图中的其他过程是在软件程序的作者创建分发期间执行的。我是对的吗?

感谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

  

在下载软件程序的分发之后,软件程序的用户执行哪些处理

这取决于你想做什么。很多人只是在配置,构建和安装软件包的基本构建命令之后:

# ./configure; make; make install

,即使您正在修补源代码,也不需要在这些情况下调用autoreconfautoconfautomake。如果修改足够广泛,需要修改configure.acMakefile.am文件,那么可能需要调用其他工具。通常configure足够聪明,可以代表您自动调用它们。

autoscan实际上只对将软件包移植到GNU Build System非常有用。 autoheader也是如此。获得基本configure.acconfig.h.in后,您将不再需要这些工具。这些工具很好,但不是必需来生成上述文件。

  

哪些流程是由从源代码创建软件程序分发的一方执行的(谁可能是软件程序的作者)?

如果你有某种自动软件构建,我想它会在从VCS重新结账后调用autoreconf -fvi和其他一些步骤。这就是bootstrap.shautogen.sh脚本的原因。这基本上会调用aclocalautoconfautomake来编写configure。然后基本上configure; make distcheck;进行分发。