F.4.1. Компиляция RTL

На верх  Назад  Вперёд

Для перекомпиляции RTL, так чтобы новый компилятор был собран, как минимум должны быть собраны следующие модули в указанном порядке:

loaders
Программа заглушки , которая является стартовым кодом для каждой программы на Pascal. Эти файлы имеют расширение .as, потому что они написаны на ассемблере. Они должны быть ассемблированы ассемблером GNU as. Эти заглушки находятся в каталоге, который зависит от ОС, за исключением LINUX, где они находятся в каталоге LINUX в подкаталоге, который зависит от процессора (i386 или m68k ).

System
Системный модуль. Этот модуль находится в зависимости от ОС в подкаталогах RTL.

Strings
Модуль strings. Этот модуль находится в RTL в подкаталоге inc.

dos
Модуль dos. Этот модуль находится в зависимости от ОС в подкаталоге RTL. Возможно, другие модули будут откомпилированы как вследствие попытки компиляции этого модуля (например, на LINUX модуль linux будет скомпилирован, на go32, будет скомпилирован модуль go32 ).

objects
Модуль objects. Этот модуль находится в RTL в подкаталоге inc.

Для компиляции этих модулей на i386 будут созданы следующие объявления:

ppc386 -Tlinux -b- -Fi../inc -Fi../i386 -FE. -di386 -Us -Sg system.pp

ppc386 -Tlinux -b- -Fi../inc -Fi../i386 -FE. -di386 ../inc/strings.pp

ppc386 -Tlinux -b- -Fi../inc -Fi../i386 -FE. -di386 dos.pp

ppc386 -Tlinux -b- -Fi../inc -Fi../i386 -FE. -di386 ../inc/objects.pp

Это минимальный набор опций командной строки, необходимых для компиляции RTL.

Для другого процессора i386 должно быть заменено на соответствующий процессор. Для другой целевой ОС настройка целевой системы (-T) должна быть сделана соответствующим образом.

В зависимости от целевой ОС есть и другие модули, которые могут быть откомпилированы, но которые не являются строго необходимыми для перекомпиляции компилятора. Следующие модули доступны для всех платформ:

objpas
Необходим для режима Delphi. Требуется опция -Mobjpas. Находится в подкаталоге objpas.

sysutils
Многие полезные функции, как и в Delphi. Находится в каталоге objpas и нужно использовать опцию -MObjpas для компиляции.

typinfo
Функции для доступа к информации RTTI, подобно Delphi. Находится в каталоге objpas.

math
Математические функции как в Delphi. Находится в каталоге objpas.

mmx
Расширения MMX для класса процессоров Intel. Находится в каталоге i386.

getopts
GNU-совместимый модуль getopts. Находится в каталоге inc.

heaptrc
Для отладки кучи. Находится в каталоге inc.