0

我在配置期间执行了一些检查,我使用 AC_CACHE_CHECK 宏通过 autoconf 进行了设置。有些检查很关键,所以如果它们不通过,我希望配置失败。我怎样才能做到这一点?

谢谢,史蒂芬

4

1 回答 1

1

不明白你的意思。如果结果未缓存,是否要中止?或者,如果结果没有被缓存,您是否想尝试分配一个值但如果不成功则中止?对于后者,只需执行以下操作:

# Replace 3rd argument with commands to assign the cache variable
# See autoconf documentation for how to name the cache variable
AC_CACHE_CHECK([myvariable], [sss_cv_type_myvar], [sss_cv_type_myvar=yes])
myvariable=$sss_cv_type_myvar
AS_IF([test x"$myvariable" != xyes],[AC_MSG_ERROR(
    [myvariable not yes])])

如果你想仅仅因为变量没有被缓存而中止,你可以exitAC_CACHE_CHECK. 该选项中的命令用于分配缓存变量,并且不应该有副作用。退出配置脚本绝对是一个副作用,但这可能是您想要的行为。

于 2012-06-04T14:30:26.433 回答