【发布时间】:2018-11-13 11:17:52
【问题描述】:
运行配置脚本后,我得到一系列输出,上面写着“缓存”。例如:
checking for gcc... gcc
checking for gcc... (cached) gcc
...
checking dependency style of gcc... gcc3
checking dependency style of gcc... (cached) gcc3
为什么这里输出 gcc 两次:一个是“gcc”,另一个是“(cached) gcc”?脚本似乎正在执行两项检查。我以为脚本只会检查缓存中的变量以加快执行速度。
另外,这些缓存文件存储在哪里?根据 autoconf 文档,它说:
configure默认不使用缓存文件,避免意外使用过期缓存文件导致的问题。
因此,默认情况下,配置脚本似乎会缓存某些“检查”。我尝试运行“--config-cache”,并创建了文件“config.cache”。
我也在我的配置脚本中运行了这个:
# optimization flags
if test "x$ac_cv_prog_gcc" = xyes; then
AC_MSG_CHECKING([AC_CV_PROG_GCC])
AC_MSG_RESULT("$ac_cv_prog_gcc")
fi
虽然在 config.cache 中找不到变量“ac_cv_prog_gcc”,所以我假设这些缓存的变量存储在其他地方。这些文件在哪里?
【问题讨论】: