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
-gnatec=`path' where 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 `gcc' via
temporary files that are immediately deleted; it doesn’t make sense to
depend on a file that no longer exists. Such tools include
`gprbuild', `gnatmake', and `gnatcheck'.
If you are using project file, a separate mechanism is provided using project attributes.