如何使用英特尔编译器编译autotools?

时间:2009-08-14 21:56:00

标签: autotools autoconf automake

我希望我的代码可以使用英特尔编译器或gcc / g ++进行编译,具体取决于configure参数。这可能吗?我需要在configure.ac和Makefile.am文件中添加什么来实现这一目标?

4 个答案:

答案 0 :(得分:13)

我会这样做:

AC_PROG_CC([icc gcc])

这将按照指定的顺序查找编译器,除非使用./configure的参数覆盖

$ ./confgure CC=gcc

答案 1 :(得分:11)

如果要在编译时使用gcc以外的编译器,请将'CC = / path / to / compiler'作为参数传递给configure。 (也就是说,运行./configure CC = / path。不要使用CC = / path ./configure形式。)如果你想让默认编译器不是gcc,你可以把

CC=${CC-/path/to/default/compiler}
在调用AC_PROG_CC之前,在configure.ac中

答案 2 :(得分:4)

当然是。您可以在configure.ac中配置默认​​编译器,如果用户想要使用其他编译器,他(或她)可以将其传递给./configure脚本。

您可以在此处找到更多相关信息:How to use autotools

可能对您感兴趣的部分位于页面中间:

#if a compiler is not specified by the user use intel compilers
AC_PATH_PROG(CC_PATH, $CC, NO_PATH)
if test "$CC_PATH" = NO_PATH; then
 CC="icc"
fi

答案 3 :(得分:2)

通常你可以运行

bash $ CC=icc ./configure

使用lcc或任何其他编译器作为C编译器,前提是配置和构建过程的其余部分不使用任何gcc'ism。