Что такое Autoconf

Что такое Autoconf [Вперед] [Вверх] [Назад] [Содержание]
Дальше: Создание конфигурационных скриптов Вверх: Использование Autoconf Назад: Использование Autoconf

Что такое Autoconf

Autoconf -- это набор утилит, порождающих выполняемые командным интерпретатором скрипты, задача которых -- конфигурация исходных текстов и создание окончательных файлов Makefile (будем писать Autoconf с заглавной буквы, чтобы различать собственно пакет и название одной из утилит, входящих в его состав). Как уже было сказано выше, конфигурационные скрипты, создаваемые с помощью Autoconf, не зависят от Autoconf, т.е. не требуют каких-либо утилит пакета Autoconf во время выполнения. Также в большинстве случаев не требуется какого-либо участия пользователя -- конфигурация происходит автоматически, и всегда выбирается некоторая разумная конфигурация по умолчанию. Вмешательство пользователя требуется только при желании внести в нее изменения.

В самом общем виде основная задача конфигурационных скриптов -- строить разного рода ``догадки'' o системе, в которой они запускаются, и на основе этих ``догадок'' вносить изменения в исходные тексты, а также генерировать Makefile-файлы. Исходные тексты должны содержать список использованных в них элементов, ``догадки'' о наличии или свойствах которых должны быть сделаны в процессе конфигурации. Все эти ``догадки'' получают нужную информацию в процессе выполнения конфигурационного скрипта (или скриптов), а не берут ее из каких-либо статических данных. Грубо говоря, каждая ``догадка'' представляет собой кусок кода на языке командного интерпретатора. Такой кусок кода далее будем называть тестом. После того, как тест написан и отлажен, его можно использовать при конфигурации других программ, желающих сделать аналогичную ``догадку''.

В пакет Autoconf входит значительное число тестов, позволяющих определить наличие или какие-либо свойства наболее часто используемых программ, состав и структуру заголовочных файлов, тип и какие-либо особенности операционной системы и т.п. Набор тестов при необходимости может быть расширен.



Dmitry A. Antipov
1999-05-26