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 , Sat, 6 Aug 2022 19:00:33 +0200