Журнал Системный Администратор, Декабрь 2007

Журнал Системный Администратор

Декабрь 2007

Цена: $4.5 US

  Подписаться

Зарегистриванные пользователи, пожалуйста следуйте этой ссылке


GNU Autotools: ошибки свои и чужие

Рашид Ачилов

GNU Autotools, комплект скриптов, предназначенный для облегчения процесса построения сложных программных проектов, является чрезвычайно удобной и мощной системой. Есть тут только одно «но» – эта система очень плохо документирована. Поэтому если при сборке чужого проекта неожиданно возникает ошибка, то чувство растерянности – и что тут делать дальше? – вполне уместно. Прочитав эту статью, вы узнаете о том, как программы Autotools связаны между собой и как можно исправить чужие ошибки, не наделав своих.

Анатомия

Сейчас уже трудно себе представить, что когда-то для сборки любого программного проекта сначала необходимо было тщательно читать различные README, INSTALL и другую документацию – большую часть работы по выполнению нужных проверок и созданию файла Makefile берет на себя скрипт configure. Но ведь и сам скрипт configure должен создаваться каким-то образом? В этом и состоит роль GNU Autotools – в упрощении работы по сопровождению программных проектов.

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

Все это хорошо знал и Дэвид Мак-Кензи (David MacKenzie), разработавший в 1992 году первый компонент GNU Autotools – программу Autoconf. В 1994 году им же была написана первая версия программы Automake, позже полностью переписанная Томом Троми (Tom Tromey). В 1996 году в состав GNU Autotools вошел третий важный компонент – Libtool, написанный Гордоном Матцигкейтом (Gordon Matzigkeit). В 1998 году GNU Autotools были портированы под Windows Яном Лэнсом Тейлором (Ian Lance Taylor).

Почему же эти скрипты так важны, чем они так облегчают жизнь программисту?

Оставшая часть статьи доступна только подписчикам. Если вы желаете продолжить чтение этой статьи, то вам необходимо подписаться на эту статью или весь номер.

Подписаться на весь номер

Зарегистриванные пользователи, пожалуйста следуйте по этой ссылке