Autoconf

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Pkg-config»)
Перейти к: навигация, поиск
Autoconf
Heckert GNU white.svg
Autoconf 2.68 wine.png
Autoconf 2.68 настраивает Wine для сборки
Тип

инструментальное программное обеспечение

Разработчик

проект GNU

Написана на

perl, m4

Операционная система

кроссплатформенное программное обеспечение

Последняя версия

2.69 (25 апреля 2012 год)

Лицензия

GPL

Сайт

gnu.org/software/autoconf/

Autoconf — утилита для создания скриптов, которые автоматически настраивают пакеты с исходным кодом так, чтобы они могли работать на множестве UNIX.

Параметры[править | править исходный текст]

Схема взаимодействия autoconf и automake

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

Для каждого пакета программного обеспечения, который использует Autoconf, из шаблона создаётся скрипт настройки, который перечисляет системные возможности, в которых нуждается данный пакет или которые он может использовать. После того, как код на языке командного процессора, распознающий и обрабатывающий ту или иную возможность, написан, Autoconf позволяет использовать этот код во всех пакетах, которые могут использовать (или нуждаются) в соответствующей возможности. Если позже по каким-то причинам понадобится изменить код командного процессора, то изменения необходимо будет внести только в одно место; все скрипты настройки могут быть автоматически пересозданы, чтобы отразить изменения кода.

Существует несколько разных задач, относящихся к созданию переносимого программного обеспечения, которые в настоящее время нельзя решить средствами Autoconf. Среди них — автоматическое создание файлов Makefile со всеми необходимыми стандартными целями, а также предоставление замены стандартных библиотечных функций и заголовочных файлов в тех системах, в которых эти функции или файлы отсутствуют. Однако работа в этом направлении ведётся и эти возможности могут появиться в будущих версиях.

Autoconf навязывает некоторые ограничения на имена макросов, которые используются в директивах #ifdef программ на языке C.

Для создания скриптов с помощью Autoconf требуется наличие программы GNU m4. Он пользуется возможностями, которых нет в некоторых UNIX-версиях программы m4. Он также превышает внутренние ограничения некоторых версий m4, включая GNU m4 версии 1.0. Вам необходимо использовать версию 1.1 (или более позднюю) программы GNU m4. Версии 1.3 и более поздние будут работать гораздо быстрее, чем версии 1.1 или 1.2.

CFLAGS[править | править исходный текст]

CFLAGS и CXXFLAGS являются или именами переменных среды или переменными Makefile, которые устанавливаются для указания дополнительных параметров, передаваемых компилятору в процессе создания программного обеспечения.

Эти переменные обычно указываются внутри Makefile и затем выполняют вспомогательную роль по отношению к командной строке при вызове компилятора. Если они не указаны в Makefile, то они будут считаны из среды, если они там указаны. Инструменты наподобие конфигурационного скрипта ./configure утилиты autoconf обычно берут их из среды и записывают их в создаваемые Makefiles.

CFLAGS позволяет добавлять параметры для компилятора языка Си, а CXXFLAGS предполагается, что будет использоваться при вызове компилятора языка C++. Аналогично, переменная CPPFLAGS указывается для параметров, передаваемых препроцессору Си.

Эти переменные в основном используются для указания параметров компилятора при оптимизации или отладке, например: -g, -O2 или (что специфично для GCC) -march=athlon.

pkg-confg[править | править исходный текст]

Утилита, предоставляющая интерфейс для получения информации об установленных программных библиотеках, включающую в себя параметры для C или C++ компилятора, параметры для компоновщика, а также версию пакета[1]. Информация берется из .pc-файла, создаваемого менеджером пакетов (к примеру RPM или deb). Изначально написана James Henstridge, затем переписана Хэвоком Пеннингтоном.

Примечания[править | править исходный текст]

  1. John Calcote Using pkg-config with Autotools // Autotools: A Practitioner's Guide to GNU Autoconf, Automake, and Libtool. — No Starch Press, 2010. — P. 299. — 332 p. — ISBN 9781593272067

См. также[править | править исходный текст]

Литература[править | править исходный текст]

Ссылки[править | править исходный текст]