加快autoconf /配置大型项目

CAB*_*CAB 9 automake autoconf

我有一个大型的autoconf/automake项目,使用AC_CONFIG_SUBDIRS分解成组件.有没有办法让autoconf/configure运行得更快?也许并行进行子目录,或缓存可重用的结果?

我可以轻松地编写一个可以并行构建组件的构建脚本,但更愿意不添加构建结构维护的辅助点.

adl*_*adl 7

您可以使用配置缓存功能在多个(多次运行相同或递归子)之间缓存结果.简单地跑configureconfigureconfigure

./configure -C
Run Code Online (Sandbox Code Playgroud)

但是,您应该记住在系统配置更改时删除缓存(例如在安装以前的配置运行找不到的新软件包之后).如果您使用某些第三方宏,您可能还必须修复其中一些以正确缓存其结果(常见错误是在测试期间做出一些配置决策,如果缓存该测试的结果,可能会跳过该配置决定).

如果要在多个项目之间共享缓存,可以将其设置为config.site.

  • 同意几乎所有的计数,但在`config.site`中设置缓存变量让我觉得不错.几年前没有gentoo尝试过confcache吗?IIRC,他们不得不支持它,因为它打破了大量的东西. (2认同)

Joh*_*ain 5

我正在考虑一个并行配置,它可以并行检查以充分利用主机的多核。可能 autoconf 应该生成 bash 脚本,该脚本可以被矢量化/流水线化以使其成为可能。