next up previous contents
Next: Использование программы autoscan для Up: Создание скриптов configure. Previous: Создание скриптов configure.   Contents

Написание `configure.in'.

Файл с именем `configure.in' содержит вызовы макросов Autoconf, проверяющие системные возможности, которые он может использовать. Для многих таких возможностей макросы Autoconf уже написаны.

Для проверок большинства других возможностей вы можете использовать шаблонные макросы Autoconf, на базе которых можно создать специальные проверки. Для специализированных потребностей, в файл `configure.in' может понадобиться включить специально написанные скрипты командного процессора.

Каждый файл `configure.in' должен в самом начале содержать вызов макроса ACINIT, а в самом конце вызов макроса ACOUTPUT. Также некоторые макросы полагаются на то, что другие макросы были вызваны первыми, поскольку перед принятием решения, они проверяют уже установленные значения переменных.

Для того чтобы ваши файлы были последовательны и единообразны, приведем желательный порядок вызова макросов Autoconf:

ACINIT(file) Проверка программ Проверка библиотек Проверка заголовочных файлов Проверка определений типов Проверка структур Проверка характеристик компилятора Проверка библиотечных функций Проверка системных сервисов ACOUTPUT(file...)

При вызове макросов с аргументами, между открывающей скобкой и названием макроса не должно быть пробелов. Аргументы могут занимать несколько строк, если они заключены в кавычки языка m4 - `[' и `]'. Если аргументом является длинная строка, например список имен файлов, то можно использовать символ обратного слэша в конце строки для указания, что список продолжается на следующей строке (эта возможность реализуется командным процессором, без привлечения возможностей Autoconf).

Некоторые макросы отрабатывают два случая: когда заданное условие выполняется и когда это условие не выполняется. В некоторых местах вы можете захотеть сделать что-либо, если условие выполняется, и ничего не делать в противном случае, и наоборот. Для того, чтобы пропустить действие при выполнении условия, передайте пустое значение аргументу action-if-found данного макроса. Для пропуска действия при невыполнении условия уберите аргумент action-if-not-found данного макроса, включив предшествующую ему запятую.

В файл `configure.in' можно включать комментарии, начиная их со встроенного макроса m4 --dnl, который отбрасывает текст вплоть до начала новой строки. Эти комментарии не появятся в созданных скриптах configure.



2004-06-22