diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-main.adb gprbuild-gpl-2016-src/src/gprbuild-main.adb --- gprbuild-gpl-2016-src.old/src/gprbuild-main.adb 2017-03-28 09:12:24.205058242 +0200 +++ gprbuild-gpl-2016-src/src/gprbuild-main.adb 2017-03-28 09:21:20.495344963 +0200 @@ -52,7 +52,8 @@ with GPR.Tempdir; use GPR.Tempdir; with GPR.Tree; use GPR.Tree; with GPR.Util; use GPR.Util; +with Gprbuild.Sigint_Intercepted; procedure Gprbuild.Main is use Stamps; @@ -124,11 +124,6 @@ pragma Import (C, Install_Int_Handler, "__gnat_install_int_handler"); -- Called by Gnatmake to install the SIGINT handler below - procedure Sigint_Intercepted; - pragma Convention (C, Sigint_Intercepted); - -- Called when the program is interrupted by Ctrl-C to delete the - -- temporary mapping files and configuration pragmas files. - No_Object_Check_Switch : constant String := "--no-object-check"; Direct_Import_Only_Switch : constant String := "--direct-import-only"; Indirect_Imports_Switch : constant String := "--indirect-imports"; @@ -1616,22 +1611,6 @@ end if; end Scan_Arg; - ------------------------ - -- Sigint_Intercepted -- - ------------------------ - - procedure Sigint_Intercepted is - begin - Put_Line ("*** Interrupted ***"); - Delete_All_Temp_Files (Project_Tree.Shared); - - if Distributed_Mode then - Compilation.Slave.Unregister_Remote_Slaves (From_Signal => True); - end if; - - OS_Exit (1); - end Sigint_Intercepted; - ---------------- -- Initialize -- ---------------- @@ -2293,7 +2272,7 @@ -- And install Ctrl-C handler - Install_Int_Handler (Sigint_Intercepted'Unrestricted_Access); + Install_Int_Handler (Gprbuild.Sigint_Intercepted'Unrestricted_Access); -- Check command line arguments. These will be overridden when looking -- for the configuration file diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.adb gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.adb --- gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.adb 1970-01-01 01:00:00.000000000 +0100 +++ gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.adb 2017-03-28 09:20:00.661792854 +0200 @@ -0,0 +1,20 @@ +------------------------ +-- Sigint_Intercepted -- +------------------------ + +with Ada.Text_IO; use Ada.Text_IO; +with Gpr_Util; use Gpr_Util; +with Gprbuild.Compile; +with Gprbuild.Compilation.Slave; + +procedure Gprbuild.Sigint_Intercepted is +begin + Put_Line ("*** Interrupted ***"); + Delete_All_Temp_Files (Project_Tree.Shared); + + if Distributed_Mode then + Compilation.Slave.Unregister_Remote_Slaves (From_Signal => True); + end if; + + OS_Exit (1); +end Gprbuild.Sigint_Intercepted; diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.ads gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.ads --- gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.ads 1970-01-01 01:00:00.000000000 +0100 +++ gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.ads 2017-03-28 09:15:35.275616543 +0200 @@ -0,0 +1,4 @@ +procedure Gprbuild.Sigint_Intercepted; +pragma Convention (C, Sigint_Intercepted); +-- Called when the program is interrupted by Ctrl-C to delete the +-- temporary mapping files and configuration pragmas files. diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-main.adb gprbuild-gpl-2016-src/src/gprinstall-main.adb --- gprbuild-gpl-2016-src.old/src/gprinstall-main.adb 2017-03-28 09:12:24.205058242 +0200 +++ gprbuild-gpl-2016-src/src/gprinstall-main.adb 2017-03-28 09:25:36.515709886 +0200 @@ -42,6 +42,7 @@ with Gprinstall.DB; with Gprinstall.Install; with Gprinstall.Uninstall; +with Gprinstall.Sigint_Intercepted; procedure Gprinstall.Main is @@ -94,11 +94,6 @@ pragma Import (C, Install_Int_Handler, "__gnat_install_int_handler"); -- Called by Gnatmake to install the SIGINT handler below - procedure Sigint_Intercepted; - pragma Convention (C, Sigint_Intercepted); - -- Called when the program is interrupted by Ctrl-C to delete the - -- temporary mapping files and configuration pragmas files. - --------------- -- Copyright -- --------------- @@ -514,17 +509,6 @@ end if; end Scan_Arg; - ------------------------ - -- Sigint_Intercepted -- - ------------------------ - - procedure Sigint_Intercepted is - begin - Put_Line ("*** Interrupted ***"); - Delete_All_Temp_Files (Project_Tree.Shared); - OS_Exit (1); - end Sigint_Intercepted; - ---------------- -- Initialize -- ---------------- @@ -862,7 +846,7 @@ -- And install Ctrl-C handler - Install_Int_Handler (Sigint_Intercepted'Unrestricted_Access); + Install_Int_Handler (Gprinstall.Sigint_Intercepted'Unrestricted_Access); -- Check command line arguments. These will be overridden when looking -- for the configuration file diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.adb gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.adb --- gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.adb 1970-01-01 01:00:00.000000000 +0100 +++ gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.adb 2017-03-28 09:24:50.307545617 +0200 @@ -0,0 +1,12 @@ +------------------------ +-- Sigint_Intercepted -- +------------------------ + +with Ada.Text_IO; use Ada.Text_IO; + +procedure Gprinstall.Sigint_Intercepted is +begin + Put_Line ("*** Interrupted ***"); + Delete_All_Temp_Files (Project_Tree.Shared); + OS_Exit (1); +end Gprinstall.Sigint_Intercepted; diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.ads gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.ads --- gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.ads 1970-01-01 01:00:00.000000000 +0100 +++ gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.ads 2017-03-28 09:22:18.462294461 +0200 @@ -0,0 +1,4 @@ +procedure Gprinstall.Sigint_Intercepted; +pragma Convention (C, Sigint_Intercepted); +-- Called when the program is interrupted by Ctrl-C to delete the +-- temporary mapping files and configuration pragmas files. --- gprbuild-gpl-2016-src/Makefile.in.old 2017-01-19 19:52:41.242907252 +0100 +++ gprbuild-gpl-2016-src/Makefile.in 2017-01-19 19:54:45.822646333 +0100 @@ -25,12 +25,12 @@ host=@host@ target=@target@ build=@build@ -prefix=@prefix@ +prefix=$(DESTDIR)@prefix@ srcdir=@srcdir@ objdir=@objdir@ exec_prefix=@exec_prefix@ datarootdir=@datarootdir@ -datadir=@datadir@ +datadir=$(DESTDIR)@datadir@ bindir=@bindir@ libdir=@libdir@ libexecdir=@libexecdir@ @@ -66,7 +66,7 @@ .PHONY: all distall gprbuild gprconfig gprclean gprinstall gprname gprls all: - $(GPRBUILD_BUILDER) + $(GPRBUILD_BUILDER) -cargs:C $(CFLAGS) -cargs:Ada $(ADAFLAGS) distall: all install install.dist @@ -173,13 +173,13 @@ libgpr.build: $(foreach t, $(LIBGPR_TYPES), libgpr.build.$(t)) libgpr.build.shared: - ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr + ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS) libgpr.build.static: - ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr + ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS) libgpr.build.static-pic: - ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr + ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS) libgpr.install: $(foreach t, $(LIBGPR_TYPES), libgpr.install.$(t)) --- gprbuild-gpl-2015-src/gprbuild.gpr.old 2017-01-11 21:44:59.795997896 +0100 +++ gprbuild-gpl-2015-src/gprbuild.gpr 2017-01-11 21:45:07.971998651 +0100 @@ -66,6 +66,7 @@ for Switches ("gpr*.ad?") use Compiler'Default_Switches ("Ada") & ("-g1"); end case; + for Driver ("C") use External ("CC", "gcc"); end Compiler; package Binder is make BUILDER="$(BUILDER)" BUILD="$(BUILD)" --- gprbuild-gpl-2016-src/gpr/src/gpr-env.adb.old 2017-11-13 22:16:53.349083426 +0100 +++ gprbuild-gpl-2016-src/gpr/src/gpr-env.adb 2017-11-13 22:17:22.692590351 +0100 @@ -1948,6 +1948,8 @@ end if; + Add_Directories (Self, "/usr/share/gpr"); + if Gpr_Prj_Path.all /= "" then Add_Directories (Self, Gpr_Prj_Path.all); end if; --- gprbuild-gpl-2017-src/gpr/src/gpr-names.ads.old 2017-11-19 13:09:18.947527738 +0100 +++ gprbuild-gpl-2017-src/gpr/src/gpr-names.ads 2017-11-19 13:10:08.125654595 +0100 @@ -27,6 +27,8 @@ Name_Buffer : String (1 .. 1_000_000); Name_Len : Natural := 0; + Last_Id : Name_Id := Name_Id'First; + procedure Get_Name_String (Id : Name_Id); procedure Get_Name_String (Id : Unit_Name_Type); procedure Get_Name_String (Id : File_Name_Type); --- gprbuild-gpl-2017-src/gpr/src/gpr-names.adb.old 2017-11-19 13:10:27.674316703 +0100 +++ gprbuild-gpl-2017-src/gpr/src/gpr-names.adb 2017-11-19 13:14:38.360963627 +0100 @@ -354,6 +354,8 @@ Name_Chars.Append (ASCII.NUL); + Last_Id := Name_Entries.Last; + return Name_Entries.Last; end Name_Enter; @@ -427,6 +429,8 @@ Name_Chars.Append (ASCII.NUL); + Last_Id := Name_Entries.Last; + return Name_Entries.Last; end Name_Find; --- gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb.old 2017-11-19 13:12:41.592995718 +0100 +++ gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb 2017-11-19 13:16:31.980979696 +0100 @@ -53,6 +53,10 @@ return; end if; + if Last_Id = Name_Id'First then + Add_Name (""); + end if; + Add_Name ("a"); Add_Name ("b"); Add_Name ("c");