Ада-95. Компилятор GNAT



         

Различные опции сборки и каталоги выходных результатов для общих исходных файлов


Предположим, что файлами с исходными текстами на Аде являются следующие файлы: "pack.ads", "pack.adb" и "proc.adb". Предположим также, что все они располагаются в каталоге "/common", и файл "proc.adb" содержит главную подпрограмму Proc, которая указывает в спецификаторе with пакет Pack.

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

При отладке, необходимо утилите gnatmake передать опцию "-g", а компилятору опции "-gnata", "-gnato" и "-gnatE"; при этом вывод результатов компиляции должен осуществляться в каталог "/common/debug".

При подготовке версии реализации, компилятору необходимо передать опцию "-O2", а вывод результата компиляции должен быть осуществлен в каталог "/common/release".

Показанные ниже файлы проектов GNAT, которые позволяют решить поставленную задачу, имеют соответствующие имена "debug.gpr" и "release.gpr", и располагаются в каталоге "/common".

Для наглядности, представим рассматриваемый пример схематически:

/common debug.gpr release.gpr pack.ads pack.adb proc.adb /common/debug {-g, -gnata, -gnato, -gnatE} proc.ali, proc.o pack.ali, pack.o /common/release {-O2} proc.ali, proc.o pack.ali, pack.o

Файла проекта "debug.gpr" имеет следующий вид:

project Debug is

for Object_Dir use "debug"; for Main use ("proc");

package Builder is

for Default_Switches ("Ada") use ("-g"); end Builder;

package Compiler is

for Default_Switches ("Ada") use ("-fstack-check", "-gnata", "-gnato", "-gnatE"); end Compiler; end Debug;

Файла проекта "release.gpr" имеет следующий вид:

project Release is

for Object_Dir use "release"; for Exec_Dir use "."; for Main use ("proc");

package Compiler is

for Default_Switches ("Ada") use ("-O2"); end Compiler; end Release;

<


Содержание  Назад  Вперед