如何使用 autoconf 宏有条件地更改配置脚本或 Makefile 中的值,它通过 AC_OUTPUT 输出。
目标是使用 AC_CANONICAL_TARGET 或其他方式来识别我在 OS X 上,然后允许我的 Makefile 通过删除 -shared 并将 -soname 替换为 -dylib_install_name 来适应 LDFLAGS。
所以我基本上需要学习如何使用检查目标主机的条件语句来修改 configure.ac 文件中的 AC_SUBST 值或局部变量。
我必须补充一点,我一直在尝试使用 AC_COMPILE_IFELSE 和 AC_LANG_PROGRAM 来编译这段代码。
#include <unistd.h>
#ifndef __APPLE__
error: This is not apple Darwin
#endif
虽然我没有收到任何错误,但我无法真正确认它是否有效。当我在 FreeBSD 或 Darwin 上运行新脚本时,没有与之相关的输出。我也总是使用 autoconf -Wall。
AC_COMPILE_IFELSE 的第二个和第三个参数是 [is_darwin=yes], [is_darwin=no] 但我如何访问这些值?
非常感谢您的任何帮助。