Configuration
-------------

Gprbuild relies on a configuration file listing all available
compilers.
Most of the time, you need not worry as gprbuild implicitly lets
`gprconfig` generate `auto.cgpr` (transmitting --db options), reads
it, and eventually removes it.

For exotic configurations, you may want to generate `default.cgpr`,
that gprbuild will find in the current directory and use instead.
# gprconfig --help
# gprconfig ...
# gprbuild ...

Projects mixing languages
-------------------------

The upstream database lists various compilers in their default version
(like /usr/bin/gcc).  For each language, unless an
explicit choice is made, gprbuild selects the first detected compiler,
starting with the default version.

Be warned that, for projects mixing languages, the default behaviour
may result in mixing incompatible ABIs, for example when gcc->gcc-11
and gnat->gnat-10.
We try to keep the versions in sync in Debian stable distributions,
but you should always prefer explicit versions.
# gcc_major=`gnatmake --version | sed 's/.* \([0-9]\+\).*/\1/;q'`
# gprconfig --config=Ada --config=C,,,,gcc-$gcc_major

The full versions may differ, for example during partial upgrades.

Knowledge base
--------------

Gprconfig relies on a configuration directory listing all known
compilers, /usr/share/gprconfig from the gprconfig-kb package by
default.

You should normally not need to extend the database, but if you do,
please consider forwarding your changes, for example with the
reportbug tool.
# cp -r /usr/share/gprconfig mydb
(edit files in the mydb/ directory)
# gprbuild --db- --db yourdb

GPR/gnatprj library
--------------------

This package follows the convention for Ada library packages in Debian
documented in
http://people.debian.org/~lbrenta/debian-ada-policy.html.

The 'gpr' library is renamed 'gnatprj' in order to avoid a clash with
the 'grpc' source package (#945197).

 -- Nicolas Boulenguez <nicolas@debian.org>, Sat,  6 Aug 2022 19:00:33 +0200
