如何学习使用autotools / libtool? (有人也不喜欢它吗?)

时间:2010-12-16 13:19:18

标签: autotools libtool

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

  1. ./autogen.sh很慢。 ./configure很慢。
  2. ./configure抱怨错过了某些东西。我解决了它,它抱怨接下来的事情。 Slow
  3. Makefile是大的。配置脚本是BIG。即使configure.ac通常也很大且难以理解。
  4. Makefile.am和configure.ac充满了神秘的变量。它如何推断规则?
  5. 突然意识到我只复制了libtool的shell脚本存根,实际的二进制文件位于.deps.libs或其他任何内容。
  6. 一般情况下,如果某些内容被打破,我不确定该怎么做,错误信息通常会让人感到困惑。
  7. 最后,即使是小型项目,如果有自动工具的配置脚本(当源代码可以在存档中为5kb时),存档至少为50kb。
  8. 它的每一个问题都会给{auto,lib}工具增加越来越多的仇恨点。

    如何与这些东西相处得好?是否有一个简短的教程(不是长期的“GNU Build System简介”或它是如何调用的)以及如何创建,修复和调试这些东西的全面参考?

2 个答案:

答案 0 :(得分:5)

http://www.lrde.epita.fr/~adl/autotools.html是一个很棒的教程。不要让页数让你失望:大部分是图表逐个出现。

答案 1 :(得分:2)

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

更新:图书的内容似乎可以在线here找到。