Файл с именем `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
.