@anchor{External Software}
Некоторые пакеты требуют, или могут при случае использовать другие
пакеты программного обеспечения, уже установленные в
системе. Пользователь может указать скрипту configure с помощью ключей
командной строки, какие внешние пакеты надо
использовать. Ключи имеют одну из следующих форм:
--with-package[=arg] --without-package
Например, `--with-gnu-ld' означает, что надо работать с компоновщиком GNU linker вместо других компоновщиков. `--with-x' означает работу с X Window System.
Пользователь может задать аргумент, поставив после имени пакета символ `=' и нужный аргумент. Вы можете задать аргумент, равный `no' для пакетов, которые используются по умолчанию; он сообщает о том, что этот пакет не надо использовать. Аргумент, который не равен ни `yes', ни `no', может включать имя или номер версии другого пакета, для более точного указания, с каким пакетом эта программа предполагает работать. Если аргумент не задан, то его значение по умолчанию равно `yes'. `--without-package' эквивалентно вызову `--with-package=no'.
Скрипты configure не выдают ошибок о ключах
`--with-package', которые они не поддерживают. Такое
поведение позволяет конфигурировать дерево исходных текстов, содержащее
множество пакетов, с помощью скрипта configure верхнего уровня,
когда пакеты поддерживают разные ключи, без выдачи фальшивых сообщений
об ошибках в ключах, которые поддерживают лишь некоторые пакеты. К
сожалению, побочным эффектом
этого является то, что ошибка в задании ключей не диагностируется. До
сих пор не было предложено лучшего подхода к решению этой проблемы.
Для каждого из внешних пакетов, который может быть использован в файле
`configure.in', должен быть вызван макрос AC_ARG_WITH для
определения того, заставил ли пользователь configure использовать
этот пакет. Будет ли пакет использоваться по умолчанию или нет, а также
то, какие аргументы будут правильны, зависит от вас.
configure ключ
`--with-package' или ключ `--without-package', то
выполняются команды командного процессора action-if-given. Если ни
один из ключей не задан, то выполняются команды
action-if-not-given. Имя package задает другой пакет, с
которым должна работать эта программа. Это имя должно содержать только
буквы, цифры и знаки минус.
Аргумент ключа командной строки из кода командного процессора
action-if-given в переменной командного процессора withval,
который в действительности является значением переменной командного
процессора with_package, с символами `-', замененными
на символ `_'. Можете использовать эту переменную, если хотите.
Аргумент help-string является описанием ключа, который выглядит примерно так:
--with-readline support fancy command line editing
help-string может занимать больше одной строки, если необходима подробная информация. Просто убедитесь, что строка разделена на колонки в выводе `configure --help'. Избегайте использовать символы табуляции в строке помощи. Для того, чтобы сохранить начальные пробелы, нужно поместить строку между символами `[' и `]'.
AC_ARG_WITH, которая не
поддерживает использование строки помощи.
Go to the first, previous, next, last section, table of contents.