In GNAT a compilation environment is defined by the current
directory at the time that a compile command is given. This current
directory is searched for a file whose name is
this file is present, it is expected to contain one or more
configuration pragmas that will be applied to the current compilation.
However, if the switch
-gnatA is used,
gnat.adc is not
considered. When taken into account,
gnat.adc is added to the
dependencies, so that if
gnat.adc is modified later, an invocation of
gnatmake will recompile the source.
Configuration pragmas may be entered into the
either by running
gnatchop on a source file that consists only of
configuration pragmas, or more conveniently by direct editing of the
gnat.adc file, which is a standard format source file.
gnat.adc, additional files containing configuration
pragmas may be applied to the current compilation using the switch
path must designate an existing file that
contains only configuration pragmas. These configuration pragmas are
in addition to those found in
is present and switch
-gnatA is not used).
It is allowable to specify several switches
-gnatec=, all of which
will be taken into account.
Files containing configuration pragmas specified with switches
-gnatec= are added to the dependencies, unless they are
temporary files. A file is considered temporary if its name ends in
.TMP. Certain tools follow this naming
convention because they pass information to
temporary files that are immediately deleted; it doesn’t make sense to
depend on a file that no longer exists. Such tools include
By default, configuration pragma files are stored by their absolute paths in
ALI files. You can use the
-gnateb switch in order to store them by
their basename instead.
If you are using project file, a separate mechanism is provided using project attributes.