Библиотека сайта rus-linux.net
| Цилюрик О.И. Linux-инструменты для Windows-программистов | ||
| Назад | Установка программного обеспечения | Вперед |
Autoconf / Automake
До настоящего времени это наиболее частая форма
поставки программного пакета в исходных кодах. Это весьма старый
инструментарий (с 1991г.), который включил в себя за время развития
целый ряд дополнительных пакетов (например libtools
— пакет конфигурирования библиотек). Отличительным признаком
таких пакетов является: наличие в каталоге файла скрипта configure
с правами исполнения. Рассмотрим общие принципы такой сборки на
примере очень крупного проекта VoIP PBX FreeSwitch,
исходный пакет распакован в каталог:
$ pwd /usr/src/freeswitch-1.0.6
Файл configure допускает запуск с ключом --help,
дающем подсказку по возможным параметрам установки, отличающихся от дефаултных:
$ ./ configure --help
`configure' configures freeswitch 1.0.6 to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
...
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/freeswitch]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]
By default, `make install' will install all the files in
`/usr/local/freeswitch/bin', `/usr/local/freeswitch/lib' etc. You can specify
an installation prefix other than `/usr/local/freeswitch' using `--prefix',
for instance `--prefix=$HOME'.
...
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CPP C preprocessor
CXXCPP C++ preprocessor
...
Дальше (возможно определившись с параметрами), выполняется достаточно типовая последовательность действий:
$ ./configure ...
Наиболее часто изменяемым параметром инсталляции
является корневой путь установки пакета; весьма часто разработчики в
качестве дефаултного пути установки задают /usr/local,
но дистрибьюторы (или пользователи при установке) переопределяют этот
путь в /usr или /opt. Достигается это выполнением:
$ ./configure --prefix=/usr ... $ ./configure --prefix=/opt ...
После этой фазы (если она завершается без ошибок) должен быть
создан файл сборки Makefile.
$ time make .... +---------- FreeSWITCH Build Complete ----------+ + FreeSWITCH has been successfully built. + + Install by running: + + + + make install + +-----------------------------------------------+ real 15m25.832s user 11m29.939s sys 3m41.169s $ su -c 'make install' ...
Примечание: Если команды ./configure и make могут
успешно выполняться от имени ординарного пользователя, то последняя
операция инсталляции — требует прав root.
В некоторых пакетах между ./configure и make может
быть предусмотрена фаза конфигурирования состава пакета:
$ make config
или
$ make menuconfig
Наличие такой возможности легко определить,
просматривая Makefile,
созданный ./configure,
на наличие соответствующих целей.
| Предыдущий раздел: | Оглавление | Следующий раздел: |
| Непосредственная сборка | Создание своего конфигурируемого пакета |
