--- gprbuild-2017/gpr/gpr.gpr.old 2017-05-27 20:59:07.061135892 +0200 +++ gprbuild-2017/gpr/gpr.gpr 2017-05-27 20:59:38.022638398 +0200 @@ -67,6 +67,7 @@ for Switches ("gpr*.ad?") use Compiler'Default_Switches ("Ada") & ("-g1"); end case; + for Driver ("C") use External ("CC", "gcc"); end Compiler; end GPR; --- gprbuild-17.0/src/gprbuild-post_compile.adb.old 2017-05-18 14:17:06.114797015 +0200 +++ gprbuild-17.0/src/gprbuild-post_compile.adb 2017-05-18 14:18:55.466956852 +0200 @@ -4744,7 +4744,9 @@ No_Create => Proj.Is_Aggregated); end if; - Shared_Libs := not Is_Static (Proj.Proj); + if not Is_Static (Proj.Proj) then + Shared_Libs := True; + end if; end if; 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"); --- gprbuild-gpl-2017/src/gprlib.adb.old 2017-12-18 12:20:02.937317216 +0100 +++ gprbuild-gpl-2017/src/gprlib.adb 2017-12-18 12:21:36.519604590 +0100 @@ -400,7 +400,7 @@ Driver_Name : Name_Id := No_Name; - Gnatbind_Name : String_Access := new String'("gnatbind"); + Gnatbind_Name : String_Access := new String'("@GNATBIND@"); Gnatbind_Path : String_Access; @@ -2237,13 +2237,13 @@ and then Line (Last - 2 .. Last) = "gcc" then Gnatbind_Name := - new String'(Line (1 .. Last - 3) & "gnatbind"); + new String'(Line (1 .. Last - 3) & "@GNATBIND@"); elsif Last > 7 and then Line (Last - 6 .. Last) = "gcc.exe" then Gnatbind_Name := - new String'(Line (1 .. Last - 7) & "gnatbind"); + new String'(Line (1 .. Last - 7) & "@GNATBIND@"); end if; end if;