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

问题描述 投票:0回答:1

我们使用自动构建系统来下载和编译源代码。我控制编译行为的唯一接口是通过设置 ENV VAR 和给“./configure”的参数。

问题在于(我正在编译的特定源的)“配置”脚本会检查系统头文件,如果找到该文件,则会对编译过程产生不利影响。 (当找到上述系统头文件时,编译过程将避免编译它认为已经安装在本地系统上的库。)

由于这是一个自动化过程,因此我无法以任何方式修改“配置”脚本,并且如上所述只能指定传递给“配置”的环境变量和参数。配置脚本使用 AC_CHECK_HEADERS 宏生成代码来检查系统文件。是否有办法避免从配置参数中检查特定系统文件?

麻烦的头文件在/usr/include/pcap/路径下。

谢谢

linux autotools
1个回答
1
投票

您可以尝试以下几件事:

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

所有这些都假设您可以修改

configure.ac
并重新生成
configure
。 如果您做不到这一点,您可能需要修改
configure
(当然,以自动方式)。

© www.soinside.com 2019 - 2024. All rights reserved.