【问题标题】:What are the './configure, make, make install' projects called?'./configure, make, make install' 项目叫什么?
【发布时间】:2014-07-09 22:56:25
【问题描述】:

我的意思是,您在 Linux 和 UNIX 系统上从源代码构建的那些 C 或 C++ 项目,通常通过发出这些命令:

./configure
make
sudo make install

而且它们的顶层目录中还有./configure./configure.ac./configure.in 等文件。

我听说它们被称为 autotools 项目、autoconf 项目或 automake 项目,但我不确定哪个名称是正确的。是否对它们应该被称为什么达成了共识?

【问题讨论】:

  • 注意:configure.in 已被弃用。它的替代品是 configure.ac

标签: linux unix autotools autoconf automake


【解决方案1】:

Autoconf 和 automake 统称为 GNU autotools(libtool 也可能包含在该类别中),因此 autotools 是最通用的名称。

请注意,并非所有具有 configure 脚本来生成 makefile 的程序都必须使用自动工具,或者并非全部使用。

【讨论】:

  • 所以我们称这样的项目为“自动工具项目”?
  • 只想指出,OP 提到的命令序列根本不需要使用任何自动工具。 GNU Coding Standards 本身就说明了这一点。措辞表明,甚至可以手动编写“配置”脚本,只要它按照预期的方式运行,实现某个接口(参数)并强制执行某些事情(例如在没有先配置的情况下不可能构建,等等)。
  • @ArjunShankar:这是一个非常好的观点。在答案中添加了一个示例。
  • git 使用 autoconf 生成配置脚本,但使用的是手写的 Makefile。 (它不使用自动制作)。
【解决方案2】:

根据 GNU,它的正式名称为 GNU Build System,您可以在 Wikipedia 上找到它。但是大多数人(呃,几乎所有人?)称它为“GNU 自动工具”或“自动工具”。正如@larsmans 和其他人在他的回答中所说,没有这些工具是必需的。引用链接的最后一段:

Autotools 是为您的软件包创建 GNU 构建系统的工具。 Autoconf 主要关注 Makefile 上的配置和 Automake。完全有可能在没有这些工具的帮助下创建一个 GNU 构建系统......

【讨论】:

    【解决方案3】:

    autoconf 信息页面的第一页将包称为“自动没收”。

    【讨论】:

      猜你喜欢
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 2010-12-16
      • 1970-01-01
      • 2011-04-24
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多