【问题标题】:How to learn to use autotools/libtool? (Does anybody dislike it too?)如何学习使用 autotools/libtool? (有人不喜欢吗?)
【发布时间】:2010-12-16 13:19:17
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我将其作为副本关闭,但即使不是,我也会以主观和争论的方式关闭它。 :-(
  • 不懂的人注定不喜欢。
  • 没有configure.am 这样的东西。您可能会想到第 4 点中的configure.ac
  • 人们不喜欢它,因为他们没有手动编写 ./configure 脚本

标签: autotools libtool


【解决方案1】:

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

【讨论】:

  • 看起来像我要找的东西。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 2014-03-17
    • 2015-10-17
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多