WeHack BBS
基于autotools的构建系统的一些问题 - 可打印的版本

+- WeHack BBS (https://bbs.wehack.space)
+-- 版块: 计算机技术 (https://bbs.wehack.space/forum-5.html)
+--- 版块: GNU/Linux 讨论区 (https://bbs.wehack.space/forum-6.html)
+--- 主题: 基于autotools的构建系统的一些问题 (/thread-177.html)



基于autotools的构建系统的一些问题 - vimacs - 08-27-2020

1. 有不少项目configure之后生成一个Makefile,在make的时候在项目的下级目录再调configure,所以会出现这些现象:
    - 顶级的configure的帮助中并不会显示所有的配置选项,因为这些选项是给下级目录中的configure用的
    - 设置的CFLAGS等变量中的转义的引号,在一层Makefile和一层shell的调用中,可能转义效果就没了
2. autoconf, automake, autoreconf 是用 shell 和 perl 写的


RE: 基于autotools的构建系统的一些问题 - vimacs - 09-11-2020

今天用--enable-bootstrap选项构建GCC,由于我把gmp,mpfr,mpc都放到GCC的源码目录下,结果GCC的Makefile对gmp做了configure,但是make的时候却使用的是GCC Makefile自己定义的stage1 CFLAGS.


RE: 基于autotools的构建系统的一些问题 - vimacs - 04-07-2024

说句题外话:以前我觉得autotools有它独特的作用,它可以生成一个configure脚本,使得只要有个POSIX shell和基础工具就能构建软件,而不用像CMake和meson需要单独装一个构建系统。但是自从xz的后门出来之后,我觉得autotools的这个特性就有问题了,一个人要检查源码包的configure脚本是不是真的由工程的配置生成的,也需要先安装一份autotools自己生成。不过这样做也比CMake等要简单一点,这个检查工作让专门的人做就好了。