【发布时间】:2010-12-16 13:19:17
【问题描述】:
当某个项目拥有所有“ltmain”、“aclocal.m4”和其他“autogen.sh”时,它会带来不适:
-
./autogen.sh很慢。./configure很慢。 -
./configure未能抱怨缺少某些东西。我修复它,它抱怨接下来的事情。 Slow。 - Makefile 很大。配置脚本很大。即使
configure.ac通常也很大且难以理解。 - Makefile.am 和 configure.ac 充满了大部分神秘的变量。它是如何推导出规则的?
- 我突然意识到我只复制了 libtool 的 shell 脚本存根,而实际的二进制文件位于
.deps或.libs或其他任何地方。 - 一般来说,如果那里出现问题,我会不确定该怎么做,而且错误消息通常会令人困惑。
- 最后,即使是很小的项目,当它有 autotool 的配置脚本时,存档也至少有 50kb(当源代码存档可以是 5kb 时)。
它的每一个问题都会给 {auto,lib} 工具增加越来越多的仇恨点。
如何与这些事情相处融洽?是否有简短的教程(不是冗长的“GNU 构建系统简介”或它的名称)以及如何创建、修复和调试这些东西的综合参考?
【问题讨论】:
-
我将其作为副本关闭,但即使不是,我也会以主观和争论的方式关闭它。 :-(
-
不懂的人注定不喜欢。
-
没有
configure.am这样的东西。您可能会想到第 4 点中的configure.ac。 -
人们不喜欢它,因为他们没有手动编写 ./configure 脚本