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



         

Утилита gnatmake и файлы проектов - часть 2


Такой набор используемых опций определяется с помощью описания внутри пакета соответствующих, ориентированных на указание опций атрибутов.

В частности, опции, которые каждый такой пакет определяет для указанного файла F, включают:

  • значение атрибута "Switches (F)", когда он указан в пакете для данного файла

  • в противном случае, значение атрибута "Default_Switches ("Ada")", когда он указан в пакете

    Когда внутри пакета ни один их этих атрибутов не описан. пакет не указывает никаких опций для данного файла.

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

    1. набор опций, которые определены для этого файла в пакете Builder

    2. набор опций, которые были переданы в командной строке

    Когда, для обработки файла, утилита gnatmake осуществляет запуск какого-либо инструментального средства (компилятор, редактор связей, компоновщик) набор опций, которые передаютсяя инструментальному средству, состоит из трех множеств, располагаемых в следующем порядке:

  • набор опций, которые определены для этого файла в пакете Builder

    файла проекта, заданного в командной строке

  • набор опций, которые определены для этого файла внутри пакета соответствующего инструментального средства (в соответствующем файле проекта)
  • набор опций, которые были переданы в командной строке

    Следует заметить, что опции, заданные в командной строке запуска утилиты gnatmake, могут передаваться или не передаваться индивидуальному инструментальному средству, в зависимости от конкретной опции.

    Утилита gnatmake может осуществлять запуск компилятора для обработки исходных файлов различных проектов. Менеджер проектов GNAT будет использовать соответствующий файл проекта, чтобы определить пакет Compiler

    для каждого исходного файла, который нуждается в компиляции. То же самое справедливо для пакетов Binder (редактор связей) и Linker (компоновщик).

    В качестве примера, рассмотрим пакет Compiler




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