我在配置期间执行了一些检查,我使用AC_CACHE_CHECK宏设置了autoconf。有些检查很关键,所以如果它们没有通过,我希望配置失败。我怎样才能做到这一点?
谢谢,Steffen
答案 0 :(得分: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])])
如果你想仅仅因为没有缓存变量而中止,你可以将exit
放在AC_CACHE_CHECK
的第三个参数中。该选项中的命令用于分配缓存变量,不应该有副作用。退出配置脚本肯定是副作用,但这可能是您想要的行为。