@anchor{Caching Results}
Чтобы избежать повторяющихся проверок одних и тех же возможностей в
различных скриптах configure (или при повторных вызовах
одного скрипта), configure сохраняет результаты многих
проверок в кэш-файле. Если при запуске скрипта configure
тот находит кэш-файл, то считывает результаты, полученные при
предыдущих запусках, и не выполняет проверки, результат которых уже
получен. Благодаря этому configure может работать намного
быстрее, чем если бы при каждом запуске приходилось заново выполнять все
проверки.
configure не был задан ключ `--quiet' или `--silent',
то выдать сообщение о том, что результаты были взяты из кэша; в
противном случае запустить код командного процессора
commands-to-set-it. Эти команды не должны иметь побочных
эффектов, за исключением установки переменной cache-id. В
частности, они не должны вызывать макрос AC_DEFINE; это должен
делать код, следующий за вызовом AC_CACHE_VAL, основываясь на
кэшированном значении. Они также не должны выдавать никаких сообщений,
например, с помощью макроса AC_MSG_CHECKING; это надо выполнять
до вызова AC_CACHE_VAL, так что сообщения будут печататься вне
зависимости от того, будут ли результаты взяты из кэша или будут
определены с помощью выполнения кода командного процессора. Если для
определения значения будет запущен код командного процессора, то
полученное значение будет сохранено в кэш-файле перед тем, как
configure будет создавать выходные файлы. See section Имена переменных кэша, для того чтобы узнать, как выбрать имя переменной
cache-id.
AC_CACHE_VAL, которая берет на себя заботу о выдаче
сообщений. Этот макрос обеспечивает удобную и короткую форму записи
наиболее распространенных способов
использования этих макросов. Он вызывает макрос AC_MSG_CHECKING
для выдачи сообщения message, затем вызывает AC_CACHE_VAL с
аргументами cache-id и commands и, наконец, вызывает
AC_MSG_RESULT с аргументом cache-id.
AC_INIT.
AC_OUTPUT, но полезно бывает вызывать
AC_CACHE_SAVE в ключевых точке файла `configure.in'. При
это кэш сохраняется на тот случай, если работа скрипта `configure'
будет прервана.
Go to the first, previous, next, last section, table of contents.