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



         

Управляющая программа gnat и файлы проектов - часть 2


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

  • "package Binder" - для команды BIND (запускает gnatbind)
  • "package Finder" - для команды FIND (запускает gnatfind)
  • "package Gnatls" - для команды LS или LIST (запускает gnatls)
  • "package Linker" - для команды LINK (запускает gnatlink)
  • "package Cross_Reference" - для команды XREF (запускает gnatlink)

    Пакет Gnatls обладает уникальным атрибутом Switches, простая переменная со значением в виде списка строк. Атрибут содержит опции используемые при запуске gnatls.

    project Proj1 is

    package gnatls is

    for Switches use ("-a", "-v"); end gnatls; end Proj1;

    Все остальные пакеты обладают атрибутом Default_Switches, ассоциативный массив, который индексируется именем языка программирования (не зависит от регистра символов) и имеет значение в виде списка строк.

    Атрибут "Default_Switches ("Ada")" содержит опции, которые используются при запуске инструментального средства соответствующего пакету.

    project Proj is

    for Source_Dirs use ("./**");

    package gnatls is

    for Switches use ("-a", "-v"); end gnatls;

    package Binder is

    for Default_Switches ("Ada") use ("-C", "-e"); end Binder;

    package Linker is

    for Default_Switches ("Ada") use ("-C"); end Linker;

    package Finder is

    for Default_Switches ("Ada") use ("-a", "-f"); end Finder;

    package Cross_Reference is

    for Default_Switches ("Ada") use ("-a", "-f", "-d", "-u"); end Cross_Reference; end Proj;

    Для показанного выше файла проекта, команды:

    gnat ls -Pproj main gnat xref -Pproj main gnat bind -Pproj main.ali

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




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