Autoconf - Воссоздание конфигурации
Go to the first, previous, next, last section, table of contents.
Воссоздание конфигурации
@anchor{Invoking config.status}
Скрипт configure
создает файл с именем `config.status',
который описывает, какие параметры конфигурации были указаны при последней
конфигурации пакета. Это файл является скриптом командного процессора,
который при запуске воссоздает ту же самую настройку.
Вы можете задать скрипту `config.status' ключ `--recheck',
чтобы он обновил сам себя. Этот ключ полезен, если вы изменяете configure
,
так что результаты некоторых тестов могут измениться по сравнению с
предыдущим запуском. Ключ `--recheck' перезапускает
configure
с аргументами, использованными при предыдущих запусках,
с добавлением ключа `--no-create', который не дает configure
запустить `config.status' и создать `Makefile' и другие файлы,
а также с добавлением ключа `--no-recursion', который предотвращает
запуск скриптов configure
в подкаталогах. (Это сделано для того,
чтобы другие правила
`Makefile' могли бы запускать `config.status' при его изменении;
Например, see section Автоматическая пересборка).
`config.status' также распознает ключ `--help', который выдает
список ключей `config.status', и ключ `--version', который
выдает номер версии Autoconf, которая была использована при создании
скрипта configure
, создавшего файл `config.status'.
`config.status' проверяет несколько переменных среды, которые могут изменить его поведение:
- Variable: CONFIG_SHELL
-
Командный процессор, который запустит
configure
с ключом `--recheck'. Он должен быть совместимым с командным процессором Bourne. Значение по умолчанию -- является `/bin/sh'.
- Variable: CONFIG_STATUS
-
Имя файла, которое будет использоваться для создания скрипта командного
процессора, который сохранит текущую настройку. Значением по умолчанию
является `./config.status'. Эта переменная полезна в том случае,
когда один пакет использует части другого, а скрипты
configure
не должны быть слиты вместе, поскольку они сопровождаются по отдельности.
Следующие переменные обеспечивают возможность отдельным пакетам
совместно использовать значения переменных, вычисленных скриптом
configure
. Это может быть полезно, если одному пакету нужно
больше возможностей, чем другому. Эти переменные позволяют файлу
`config.status' создавать и другие файлы, не только те, что указаны
в файле `configure.in', чтобы их можно было бы использовать в
другом пакете.
- Variable: CONFIG_FILES
-
Файлы, в которых будут выполняться подстановки
`@variable@'. Обычно эти файлы задаются как аргументы
макроса
AC_OUTPUT
в `configure.in'.
- Variable: CONFIG_HEADERS
-
Файлы, в которых будет выполняться подстановка операторов
#define
языка C. Обычно это файлы, заданные в аргументах макросаAC_CONFIG_HEADER
; если этот макрос не был вызван, то `config.status' игнорирует эту переменную.
Эти переменные также позволяют написать правила `Makefile', которые будут пересоздавать только некоторые файлы. Например, в вышеприведенной зависимости (see section Автоматическая пересборка), `config.status' запускается дважды при изменении `configure.in'. Если это беспокоит вас, то вы можете сделать так, чтобы при каждом запуске обновлялись файлы только для этого правила:
config.h: stamp-h stamp-h: config.h.in config.status CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status echo > stamp-h Makefile: Makefile.in config.status CONFIG_FILES=Makefile CONFIG_HEADERS= ./config.status
(Если `configure.in' не вызывает макрос AC_CONFIG_HEADER
, то
нет необходимости устанавливать CONFIG_HEADERS
в правилах
make
).
Go to the first, previous, next, last section, table of contents.