我们使用自动构建系统来下载和编译源代码。我必须控制编译行为的唯一接口是设置ENV VARs和给出`./configure'的参数。
问题是'configure'脚本(我正在编译的特定源)检查系统头文件,如果找到,会对编译过程产生负面影响。 (当找到上述系统头文件时,编译过程将避免编译它认为已经安装在本地系统上的库。)
由于这是一个自动化过程,我无论如何都无法修改'configure'脚本,如上所述,只能指定传递给`configure'的环境变量和参数。 configure脚本使用AC_CHECK_HEADERS宏生成代码以检查系统文件。无论如何都要避免从配置参数中检查特定的系统文件吗?
麻烦的头文件位于路径/ usr / include / pcap /.
中由于
答案 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
(当然是以自动方式)。