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



         

Импорт проектов


Какой-либо непосредственный исходный файл проекта P

может зависеть от исходных файлов, которые не являются непосредственными исходными файлами проекта P

и не содержатся в предопределенной библиотеке.

Для получения такого эффекта проект P должен импортировать проекты, которые содержат необходимые исходные файлы:

with "project1", "utilities.gpr"; with "/namings/apex.gpr"; project Main is

...

В показанном выше примере можно увидеть, что синтаксис, который используется для импортирования проектов, подобен синтаксису Ады, который используется для импортирования компилируемых моделей.

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

Каждый строковый литерал является именем файла проекта или полным именем файла проекта (абсолютным или относительным). Если строка является простым именем файла, без указания пути к каталогу, то расположение файла определяется с помощью пути к каталогу проекта (project path):

  • Если переменная окружения ADA_PROJECT_PATH существует, то путь к каталогу проекта содержит все каталоги, которые указаны в этой переменной окружения, плюс каталог в котором расположен текущий файл проекта.

  • Если переменная окружения ADA_PROJECT_PATH не существует, то путь к каталогу проекта содержит только один каталог: каталог в котором расположен текущий файл проекта.

    Если используется относительный путь к каталогу проекта

    with "tests/proj";

    то путь к каталогу проекта определяется относительно каталога в котором расположен импортирующий (текущий) файл проекта.

    Полная расшифровка любых символьных ссылок осуществляется в каталоге импортирующего файла проекта перед обнаружением и выборкой импортируемого файла проекта.

    Когда имя файла проекта, которое указано в спецификаторе with, не содержит расширения имени файла, по умолчанию, подразумевается расширение имени файла ".gpr".

    Если указанное имя файла с таким расширением не обнаружено, то будет использовано имя файла без расширения (как непосредственно указано в спецификаторе with).




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