Руководство пользователя для GNU Awk
Приложение C. Замечания о реализации
C.2 Внесение добавлений в gawk
C.2.2 Перенос gawk в новую операционную систему
Если вы хотите перенести gawk в новую операционную систему, имеется несколько стадий в этом процессе.
1. Следуйте общим указаниям раздела C.2.1 [Добавление новых свойств], стр. 295, касающихся стиля кодирования, подчинения diffs, и пр.
2. Делая перенос, имейте ввиду, что ваш код должен мирно сосуществовать с остальным gawk и с другими переносами. Избегайте беспричинных изменений не зависящих от системы частей кода. Если это возможно, избегайте лишних `#ifdef' в переносимом коде.
Если изменения, необходимые для конкретной системы, захватывают большую часть кода, я бы не поддержал этого. В таком случае вы, конечно, можете распространять ваши изменения самостоятельно, пока вы согласуете свои действия с GPL (см. [GNU GENERAL PUBLIC LICENSE], стр. 309).
3. Некоторые файлы, поставляемые с gawk, курируются другими лицами из Free Software Foundation. Поэтому вы не должны изменять их, если для этого нет весьма веских причин. Т.е., хотя изменения и не невозможны, они будут подчинены весьма строгим рассмотрениям. Это файлы `alloca.c', `getopt.h', `getopt.c', `getopt1.c', `regex.h', `regex.c', `dfa.h', `dfa.c', `install-sh' и `mkinstalldirs'.
4. Будьте готовы продолжать поддерживать этот перенос. Не-Unix операционные системы поддерживаются добровольцами, которые следят за кодами, необходимыми для компиляции и исполнения gawk на таких системах. Если ни один доброволец не будет курировать перенос, он останется без поддержки, и может оказаться необходимым исключить его из поставок.
5. Приготовьте соответствующий `gawkmisc.???' файл. Каждый перенос имеет свой `gawkmisc.???', который реализует некоторые специфические функции операционной системы. Это лучше чем куча `#ifdef', разбросанных по коду. Файл `gawkmisc.c' в главном исходном каталоге включает соответствующий `gawkmisc.???' файл из каждого подкаталога. Не забудьте отредактировать также и его.
Каждый файл `gawkmisc.???' переноса имеет суффикс, напоминающий о машине или операционной системе для переноса. Например, `pc/gawkmisc.pc' и `vms/gawkmisc.vms'. Использование отдельных суффиксов вместо простого `gawkmisc.c' делает возможным передвигать файлы из подкаталога переноса в главный подкаталог без случайной порчи настоящего файла `gawkmisc.c'. (В настоящее время это сделано только в выпуске для переносов на MS-DOS и OS/2.)
6. Обеспечьте `Makefile' и все другие Cи исходные и header-файлы, которые необходимы для вашей операционной системы. Весь ваш код должен быть в отдельном подкаталоге с именем, которое совпадает или напоминает вашу вычислительную или операционную систему. Если можно, старайтесь структурировать объекты так, что не будет необходимости переносить файлы из подкаталога в главный исходный каталог. Если такое невозможно, тогда обязательно не используйте для ваших файлов имена, совпадающие с именами файлов в главном исходном каталоге.
7. Обновите документацию. Составьте раздел (или разделы) для этой книги, описывающие установочные и компиляционные шаги, необходимые для установки и/или компиляции gawk для вашей системы.
8. Приготовьтесь подписать соответствующие статьи. Для того, чтобы FSF распространяло ваши коды, вы должны или поместить ваш код в публичную область и представить подписанное подтверждение этого, или передать права на публикацию вашего кода в FSF.
Следование этим советам значительно облегчит интеграцию ваших добавлений в gawk и даст им возможность счастливо сосуществовать с кодами для других операционных систем, где gawk уже работает.
В коде, который вы предоставили и который вы поддерживаете, вы можете свободно использовать тот стиль кодирования и расположения скобок, который вам больше по вкусу.
Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|