Скрипт конфигурации — это исполняемый скрипт, предназначенный для помощи в разработке программы , которая будет запущена на большом количестве различных компьютеров. Он сопоставляет библиотеки на компьютере пользователя с теми, которые требуются программе, перед ее компиляцией из исходного кода .
Как правило, все скрипты конфигурации называются configure
. Обычно скрипты конфигурации пишутся для оболочки Bourne , но их можно написать для выполнения в любой желаемой оболочке.
Получение программного обеспечения непосредственно из исходного кода является обычной процедурой на компьютерах Unix и обычно включает в себя следующие три шага: настройка makefile , компиляция кода и, наконец, установка исполняемого файла в стандартные расположения. Скрипт конфигурации выполняет первый из этих шагов. Использование скриптов конфигурации является автоматизированным методом генерации makefile перед компиляцией для адаптации программного обеспечения к системе, на которой исполняемый файл должен быть скомпилирован и запущен. Окончательное исполняемое программное обеспечение чаще всего получается путем выполнения следующих команд в оболочке, которая в данный момент указывает на каталог, содержащий исходный код:
./настроитьделатьсделать установку
Нужно ввести, ./configure
а не просто configure
указать оболочке, что скрипт находится в текущем каталоге. Это связано с тем, что в качестве меры предосторожности конфигурации Unix не ищут исполняемые файлы в текущем каталоге. Поэтому для выполнения программ в этом каталоге нужно явно указать их местоположение. [1]
По завершении configure
печатает отчет в config.log
. Запуск ./configure --help
выдает список аргументов командной строки для включения или отключения дополнительных функций, таких как:
./configure --libs = "-lmpfr -lgmp"
./configure --prefix = /home/user/local
Первая строка включает библиотеки mpfr
и gmp
. Вторая строка говорит make
об установке финальной версии в /home/user/local
.
Часто в комплект входит документ с инструкциями. Это может быть полезно в случае configure
сбоя. Этот файл обычно называется INSTALL
.
Разработчики программного обеспечения упрощают задачу разработки кроссплатформенного программного обеспечения с помощью GNU Autotools . [2] Эти скрипты запрашивают у системы, на которой они работают, настройки среды, архитектуру платформы, а также наличие и расположение требуемых зависимостей сборки и времени выполнения. Они сохраняют собранную информацию в configure.ac
или теперь устаревший configure.in
для чтения configure
во время фазы установки.
В новой разработке проверка зависимости библиотек в значительной степени осуществлялась с помощью pkg-config через макрос m4 , PKG_CHECK_MODULES. До того, как pkg-config приобрел популярность, были созданы отдельные макросы m4 для поиска файлов, которые, как известно, включены в дистрибутив библиотек, от которых они зависят.
Первая программа, которая поставлялась со скриптом конфигурации, была написана Ларри Уоллом в 1984 году. Скрипт был написан вручную и при запуске выдавал шутливый бегущий комментарий. Он до сих пор существует как часть системы сборки программы trn . [3]
С тех пор выросла целая экосистема программ, максимально автоматизирующих создание сценариев настройки, из которых наиболее распространенной является система GNU Autoconf .