Руководство пользователя для GNU Awk
Приложение B. Установка gawk
B.2 Компиляция и установка gawk на Unix
Обычно для компиляции и установки gawk достаточно выдать две команды. Однако, если используется необычная система, может оказаться необходимым вам самим сконфигурировать gawk для вашей системы.
B.2.1 Компиляция gawk для Unix
После извлечения поставки gawk, смените каталог на `gawk-3.0.4'. Подобно большинству программ GNU, gawk конфигурируется автоматически для системы Unix запуск программы конфигурации. Эта программа представляет сценарий оболочки Bourne, который был сгенерирован посредством GNU autoconf. (Программное обеспечение autoconf полностью описано в Autoconf--Generating Automatic Configuration Scripts, который доступен в Free Software Foundation.)
Чтобы конфигурировать gawk, просто запустите sh ./configure. Это даст `Makefile' и `config.h', подогнанный к вашей системе. Файл `config.h' описывает различные факты о вашей системе. Вы можете захотеть отредактировать `Makefile' для изменения переменной CFLAGS, которая управляет параметрами командной строки, передаваемыми компилятору Cи (такими как уровни оптимизации или компиляцией для отладки).
Вы также можете добавить ваши собственные значения для большинства make-переменных, таких как CC и CFLAGS, в командной строке при исполнении конфигурации:
CC=cc CFLAGS=-g sh ./configure См. детали в файле `INSTALL' из поставки gawk.
После завершения конфигурации и возможного редактирования `Makefile', выдайте команду make, и вскоре после этого вы получите рабочую версию gawk. Вот и все! (Если эти шаги не удадутся, пошлите пожалуйста сообщение об неполадках; см. раздел B.7 [Сообщения о конфликтах и ошибках], стр. 292.)
B.2.2 Процесс конфигурации
(Этот раздел представляет интерес только если вы знаете что-то об употреблении языка Cи и операционной системе Unix.)
Исходный код для gawk вообще старается придерживаться формальных стандартов там, где это возможно. Это значит, что gawk использует библиотечные подпрограммы, соответствующие стандарту ANSI C и стандарту POSIX для интерфейса c операционной системой. При использовании компилятора ANSI C, прототипы функций используются для помощи в улучшении проверки во время компиляции.
Многие системы Unix не поддерживают всех стандартов ни ANSI ни POSIX. `Пропавшие' подкаталоги в поставке gawk содержат замещающие версии тех подпрограмм, которые наиболее вероятно будут опущены.
Файл `config.h', который создается программой конфигурации, содержит определения, описывающие свойства конкретной операционной системы, в которой вы пытаетесь скомпилировать gawk. В этом файле описаны три факта: что головные файлы доступны и могут быть правильно включены, что (предположительно) стандартные функции фактически доступны в ваших библиотеках Cи, а также другие различные факты о вашем варианте Unix. Например, может не оказаться элемента st.blksize в статической структуре. В этом случае `HAVE.ST.BLKSIZE' будет неопределенным.
Возможно, что ваш Cи-компилятор войдет в конфигурацию. Это может оказаться так из-за невыхода по ошибке при не обнаружении библиотечной функции. Чтобы обойти это, нужно отредактировать файл `custom.h'. Используйте `#ifdef', который подходит для вашей системы, и либо #define все константы, которые должна определить конфигурация, но не сделала этого, или #undef все константы, которые конфигурация определила, хотя и не должна была это делать. `custom.h' автоматически включается посредством `config.h'.
Также возможно, что программа конфигурации, порожденная посредством autoconf, не будет работать на вашей системе в какой-то иной форме. Если у вас какие-то неприятности, файл `configure.in' есть ввод для autoconf. Вы можете изменить этот файл и сгенерировать новую версию конфигурации, которая будет работать на вашей системе. См. раздел B.7 [Сообщения о конфликтах и ошибках], стр. 292, о том как сообщать о неудачах при конфигурировании gawk. Тот же самый механизм можно использовать для посылки исправлений в `configure.in' и/или `custom.h'.
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|