19.2.3.2. Используйте автоинструменты GNU

19.2.3.2. Используйте автоинструменты GNU

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

Следовательно: для того чтобы решить проблемы переносимости, определения системной конфигурации и адаптации make-файлов, необходимо использовать автоматические инструменты проекта GNU. Сегодня пользователи, устанавливающие программы из исходных кодов, ожидают возможности ввести команды configure; make; make install и получить чистую сборку, и это действительно так. Полезные учебные материалы по работе с данными инструментами приведены на странице <http://seul.org/docs/autotut>.

Зрелыми утилитами являются autoconf и autoheader. Программа automake, как отмечалось ранее, еще до середины 2003 года была нестабильной и содержала много ошибок. Возможно, понадобится поддерживать собственный файл Makefile.in. К счастью, automake является наименее важной программой в наборе автоинструментов.

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

Однако утилиту autoconf нельзя рассматривать как одобрение кнопочных конструкций. Если вообще возможно, при программировании необходимо придерживаться стандартов, подобных POSIX, и воздерживаться от опроса системы для получения конфигурационной информации. Рекомендуется сохранять минимальное число ifdefs-директив, а еще лучше — не иметь их вообще.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Ошибка 0x00000074: используйте F8

Из книги Очень хороший самоучитель пользователя компьютером. Как самому устранить 90% неисправностей в компьютере и увеличить его возможности автора Колисниченко Денис Николаевич

Ошибка 0x00000074: используйте F8 Решить проблему можно, загрузившись в последней удачной конфигурации. Для этого перед загрузкой Windows нажмите F8, а затем выберите Загрузка последней удачной конфигурации (см. рис. 10.3, гл.


19.2.3.2. Используйте автоинструменты GNU

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

19.2.3.2. Используйте автоинструменты GNU Определение конфигурационных параметров должно быть выполнено во время компиляции. Значительное преимущество дистрибутивов с открытым исходным кодом заключается в том, что они позволяют адаптировать пакет к обнаруженной среде на


Используйте привычные для клиентов слова

Из книги Добавьте в корзину. Ключевые принципы повышения конверсии веб-сайтов автора Айзенберг Джеффри

Используйте привычные для клиентов слова Давайте посмотрим, какие слова можно задействовать для описания ваших товаров или вашей компании. В частности, требуется подобрать такие, которые используют ваши посетители. Вы удивитесь, но они порой называют вещи совсем


3. Используйте систему контроля версий

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

3. Используйте систему контроля версий РезюмеКак гласит китайская пословица, плохие чернила лучше хорошей памяти: используйте системы управления версиями. Не оставляйте файлы без присмотра на долгий срок. Проверяйте их всякий раз после того, как обновленные модули


15. Активно используйте const

Из книги VBA для чайников автора Каммингс Стив

15. Активно используйте const Резюмеconst — ваш друг: неизменяемые значения проще понимать, отслеживать и мотивировать, т.е. там, где это целесообразно, лучше использовать константы вместо переменных. Сделайте const описанием по умолчанию при определении значения — это


83. Используйте отладочную реализацию STL

Из книги Интернет-маркетинг на 100% автора Коллектив авторов

83. Используйте отладочную реализацию STL РезюмеБезопасность превыше всего (см. рекомендацию 6). Используйте отладочную реализацию STL[4], даже если она имеется только для одного из ваших компиляторов, и даже если она используется только для отладочного


95. Не используйте преобразование типов в стиле С

Из книги CSS3 для веб-дизайнеров автора Сидерхолм Дэн

95. Не используйте преобразование типов в стиле С РезюмеВозраст не всегда означает мудрость. Старое преобразование типов в стиле С имеет различную (и часто опасную) семантику в зависимости от контекста, спрятанную за единым синтаксисом. Замена преобразования типов в


97. Не используйте объединения для преобразований

Из книги Анонимность и безопасность в Интернете. От «чайника» к пользователю автора Колисниченко Денис Николаевич

97. Не используйте объединения для преобразований РезюмеХитрость все равно остается ложью: объединения можно использовать для получения "преобразования типа без преобразования", записывая информацию в один член и считывая из другого. Однако это еще более опасно и менее


98. Не используйте неизвестные аргументы (троеточия)

Из книги Wiki-правительство [Как технологии могут сделать власть лучше, демократию – сильнее, а граждан – влиятельнее] автора Новек Бет

98. Не используйте неизвестные аргументы (троеточия) РезюмеНаличие троеточий в С++ — опасное наследие С. Избегайте их в своих программах; используйте вместо этого высокоуровневые конструкции и библиотеки С++.ОбсуждениеФункции с переменным количеством аргументов


Используйте отступы!

Из книги автора

Используйте отступы! Правильное использование отступов служит основой создания понятного программного кода. В примере из предыдущего раздела каждая пара операторов, определяющих одну структуру, напечатана с одним и тем же отступом. При наличии отступов проще выяснить,


1.7. Максимально используйте бенчмаркинг

Из книги автора

1.7. Максимально используйте бенчмаркинг Отрасль веб-разработок – это одна из самых открытых для копирования передового опыта, бенчмаркинга, сфера бизнеса. Скорость распространения и клонирования инноваций здесь может измеряться часами.Постоянно изучайте не только


Используйте с умом

Из книги автора

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


Еще раз: используйте с умом

Из книги автора

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


8.5. Используйте WPA или WPA2

Из книги автора

8.5. Используйте WPA или WPA2 Протоколы WPA (Wi-Fi Protected Access), WPA2 и WEP (Wired Equivalent Privacy) обеспечивают защиту и шифрование данных, передаваемых беспроводным маршрутизатором и беспроводным клиентом. Предпочтительнее использовать WPA2, но если этот протокол устройством не поддерживается,