c - ISC-DHCP,在配置脚本中定义新 token

标签 c configure autoconf automake

我正在为 ISC dhcp 服务器开发一个补丁,以使其能够与 Solaris 11/Illumos NIC 个性名称和 Crossbow VNIC 一起正确运行。

默认情况下,定义了标记“__sun”和“_SVR4”,但这适用于所有版本的 Solaris。我只想在 uname 返回 Solaris 11 时定义“__SunOS_5_11”,因为此补丁仅适用于 Solaris 11。我相信正确的方法是在配置脚本中执行此操作。

过去几天我一直试图破译配置脚本,但没有成功,它相当大。我可以推测它会生成一个包含 token 定义的“config.h”文件。

我相信他们正在使用 autoconf 和 automake,但我对此没有太多经验。如果有人有这方面的经验,任何帮助将不胜感激!

最佳答案

正如 nos 所指出的,我应该查看configure.ac

我能够使用以下代码完成此任务。

# Solaris 11 / Illumos 11 is identified as solaris2.11
AM_CONDITIONAL([SOLARIS_2_11], [test x$host_os = xsolaris2.11])

# If host_os is solaris2.11 then define __SOLARIS_2_11
AM_COND_IF([SOLARIS_2_11],[AC_DEFINE([__SOLARIS_2_11], [1],
    [Define if host_os is solaris2.11])]) 

关于c - ISC-DHCP,在配置脚本中定义新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27219377/

相关文章:

configure - 从源代码构建 gperf

c - 如何设置 Autoconf 项目以使用 GTK 进行制作?

postgresql - 使用 OpenSSL 和 '--with-openssl' 选项配置 Postgres

c - 错误 C2059 : syntax error : 'bad suffix on number' with cl. exe vc 编译器

c - 使用函数打印两个变量

static-libraries - 在静态库配置中使用 Clang sanitizer 配置自动工具项目?

c++ - 更强大的 AC_COMPILE_IFELSE 功能测试?

c - 在 C 中循环退出后使用 'for' 循环迭代器

比较c中的两个整数数组很奇怪

servlets - 哪个Servlet Listener不需要在web.xml中配置?