如何忽略由AC_CHECK_HEADERS生成的`configure'拾取的系统文件

时间:2011-12-16 15:07:37

标签: linux compiler-construction autotools

我们使用自动构建系统来下载和编译源代码。我必须控制编译行为的唯一接口是设置ENV VARs和给出`./configure'的参数。

问题是'configure'脚本(我正在编译的特定源)检查系统头文件,如果找到,会对编译过程产生负面影响。 (当找到上述系统头文件时,编译过程将避免编译它认为已经安装在本地系统上的库。)

由于这是一个自动化过程,我无论如何都无法修改'configure'脚本,如上所述,只能指定传递给`configure'的环境变量和参数。 configure脚本使用AC_CHECK_HEADERS宏生成代码以检查系统文件。无论如何都要避免从配置参数中检查特定的系统文件吗?

麻烦的头文件位于路径/ usr / include / pcap /.

由于

1 个答案:

答案 0 :(得分:1)

你可以尝试一些事情:

  • AC_CHECK_HEADERS删除 foo.h 并始终构建库
  • AC_CHECK_HEADER用于 foo.h 并检查/usr/include/pcap/ foo.h ,如果{{{1>}则不AC_DEFINE(HAVE_FOO_H) 1}} foo.h 就在那里。
  • 您可以使用/usr/include/pcap/AC_ARG_ENABLE通过AC_ARG_WITH的参数逐个主机地关闭违规测试。所以这个问题的答案是肯定的。

所有这些都假设您可以修改configure并重新生成configure.ac。如果你不能这样做,你可能需要修改configure(当然是以自动方式)。