aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/doc/gnat_ugn
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2020-11-12 09:38:58 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2020-11-30 09:16:18 -0500
commita18d46a4b6cd2b3c6f6506d09a3bd547b20293bf (patch)
tree233dbccaf253b1af1fa284e358ce8124f6a2339f /gcc/ada/doc/gnat_ugn
parentb514643caeac517d06482a70f8fa38328601dd7a (diff)
downloadgcc-a18d46a4b6cd2b3c6f6506d09a3bd547b20293bf.zip
gcc-a18d46a4b6cd2b3c6f6506d09a3bd547b20293bf.tar.gz
gcc-a18d46a4b6cd2b3c6f6506d09a3bd547b20293bf.tar.bz2
[Ada] Implement -gnateb switch
gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst: Describe -gnateb switch. * doc/gnat_ugn/the_gnat_compilation_model.rst: Mention -gnateb switch in configuration pragma files section. * gnat_ugn.texi: Regenerate. * lib-writ.adb (Write_ALI): Strip directories from configuration files path if needed. * opt.ads: Declare Config_Files_Store_Basename option. * par.adb (Par): Save configuration file checksum. * switch-c.adb (Scan_Front_End_Switches): Set Config_Files_Store_Basename true if -gnateb is present.
Diffstat (limited to 'gcc/ada/doc/gnat_ugn')
-rw-r--r--gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst7
-rw-r--r--gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst4
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
index 6993f0d..9c62d6e 100644
--- a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
+++ b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst
@@ -1517,6 +1517,13 @@ Alphabetical List of All Switches
an exception because ``Self(Obj)`` produces an anonymous object which does
not share the memory location of ``Obj``.
+.. index:: -gnateb (gcc)
+
+:switch:`-gnateb`
+ Store configuration files by their basename in ALI files. This switch is
+ used for instance by gprbuild for distributed builds in order to prevent
+ issues where machine-specific absolute paths could end up being stored in
+ ALI files.
.. index:: -gnatec (gcc)
diff --git a/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst b/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
index 2f0e10c..46d589a 100644
--- a/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
+++ b/gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst
@@ -1560,6 +1560,10 @@ 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``.
+By default, configuration pragma files are stored by their absolute paths in
+ALI files. You can use the :switch:`-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.