传递构建参数进行配置的推荐方法

传递构建参数进行配置的推荐方法

对于不同的项目来说,传递首选编译器进行配置似乎有很大不同。例如,如果我想用 clang 构建 tcc,我必须这样做,./configure --cc=clang但在大多数其他情况下,项目会理解./configure CC=clang.是否有一个事实上的标准,或者这并不重要,我应该检查每个单独的项目是如何完成的?

  $ wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/tcc/0.9.27\+git20200814.62c30a4a-1/tcc_0.9.27\+git20200814.62c30a4a.orig.tar.bz2
  $ tar -xvjf tcc_0.9.27+git20200814.62c30a4a.orig.tar.bz2
  $ ./configure --cc=clang
  $ make
  $ make install

答案1

大多数情况下,configure脚本是由 Autoconf 生成的,并且建议在参数中设置变量

./configure CC=clang

然而,有些项目(例如tcc)提供手写configure脚本,并且做法各不相同。

根据经验,如果有文件configure.ac,您可以假设 Autoconf 行为;如果没有,您需要检查项目的期望。

(严格来说,Autoconf 生成的脚本不会支持CC,并且您应该检查是否使用AC_PROG_CC;但绝大多数使用 C 编译器的 Autoconf 脚本都是这样做的。)

相关内容