3

当某个项目拥有所有“ltmain”、“aclocal.m4”和其他“autogen.sh”时,它会带来不适:

  1. ./autogen.sh是缓慢的。./configure是缓慢的。
  2. ./configure失败抱怨错过了一些东西。我修复它,它抱怨接下来的事情。
  3. Makefile 很大。配置脚本很大。Evenconfigure.ac通常是大而难以理解的。
  4. Makefile.am 和 configure.ac 充满了大部分神秘的变量。它是如何推导出规则的?
  5. 突然意识到我只复制了 libtool 的 shell 脚本存根,而实际的二进制文件在.deps.libs或其他什么地方。
  6. 一般来说,如果那里有什么东西坏了,我会不确定该怎么做,而且错误消息通常会让人困惑。
  7. 最后,即使是小型项目,当它有 autotool 的配置脚本时(当源代码在存档中可以是 5kb 时)时,存档中至少有 50kb。

它的每一个问题都为 {auto,lib} 工具增加了越来越多的仇恨点。

怎么和那些事情相处得很好?是否有一个简短的教程(不是冗长的“GNU 构建系统介绍”或它的名称)以及如何创建、修复和调试这些东西的综合参考?

4

2 回答 2

5

http://www.lrde.epita.fr/~adl/autotools.html是一个很棒的教程。不要让页数让您望而却步:其中大部分是逐张出现的图表。

于 2011-01-18T00:09:27.530 回答
2

New Riders 出版了一本书GNU Autoconf、Automake 和 Libtool 。我拥有一份副本,但不能强烈推荐它,主要是因为我对这些工具并不真正感兴趣。不过,它似乎相当权威——作者是红帽人员和 GNU 维护者。

更新:这本书的内容似乎可以在这里在线获得。

于 2010-12-16T13:25:02.090 回答