【发布时间】:2018-01-06 21:10:35
【问题描述】:
所以,我正在努力将一个非常古老的 configure.in 改造成现代的 configure.ac,但我遇到了一个绊脚石。
我正在尝试使用 AS_IF 语句根据 PKG_CHECK_MODULES 和 AC_ARG_ENABLE 的结果执行 1-3 件事,但我似乎无法强制它们进入 AS_IF action-if - 真正的插槽。
我目前的设置如下:
# Check for libbar
PKG_CHECK_MODULES([BAR],[bar],[bar_found=yes],[bar_found=no])
AC_ARG_ENABLE([bar],
AS_HELP_STRING([--enable-bar],[enable support for bar [default=yes]]))
AS_IF([test x$enable_bar = xyes],
[AS_IF(
[test x$bar_found = xyes],
[AC_DEFINE([HAVE_BAR_SUPPORT],[1],[Define if bar support is enabled])],
[AC_MSG_ERROR([*** bar requested but not found ***])])
]
)
AS_IF([test x$enable_bar = xyes],
[AS_IF(
[test x$bar_found = xyes],
[AX_APPEND_LINK_FLAGS([$BAR_LIBS],[LDFLAGS])],
[AC_MSG_ERROR([*** bar requested but not found ***])])
]
)
AS_IF([test x$enable_bar = xyes],
[AS_IF(
[test x$bar_found = xyes],
[AX_APPEND_COMPILE_FLAGS([$BAR_CFLAGS],[CFLAGS])],
[AC_MSG_ERROR([*** bar requested but not found ***])])
]
)
如您所见,它有效,但过于冗长。我希望能够在单个 AS_IF 中处理所有动作如果为真的东西@
【问题讨论】:
标签: autotools pkg-config