summaryrefslogtreecommitdiff
path: root/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch')
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch
new file mode 100644
index 000000000000..35a98ae03fcb
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch
@@ -0,0 +1,98 @@
+--- a/gpr/gpr.gpr 2017-05-27 20:59:07.061135892 +0200
++++ b/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;
+--- a/gpr/src/gpr-names.ads 2017-11-19 13:09:18.947527738 +0100
++++ b/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);
+--- a/gpr/src/gpr-names.adb 2017-11-19 13:10:27.674316703 +0100
++++ b/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;
+
+--- a/gpr/src/gpr-snames.adb 2017-11-19 13:12:41.592995718 +0100
++++ b/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");
+--- a/src/gprlib.adb 2017-12-18 12:20:02.937317216 +0100
++++ b/src/gprlib.adb 2017-12-18 12:21:36.519604590 +0100
+@@ -263,7 +263,9 @@
+
+ Driver_Name : Name_Id := No_Name;
+
+- Gnatbind_Name : String_Access := new String'("gnatbind");
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@");
++
++ Gnatbind_Path_Option : constant String := "--gnatbind_path=";
+
+ Compiler_Name : String_Access := new String'("gcc");
+
+@@ -1944,13 +1946,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;
+
+@@ -2100,7 +2102,13 @@
+ Mapping_File_Name := new String'(Line (1 .. Last));
+
+ when Binding_Options =>
+- Binding_Options_Table.Append (Line (1 .. Last));
++ if Last > Gnatbind_Path_Option'Length
++ and then Line (1 .. Gnatbind_Path_Option'Length) =
++ Gnatbind_Path_Option then
++ null;
++ else
++ Binding_Options_Table.Append (Line (1 .. Last));
++ end if;
+
+ when Copy_Source_Dir =>
+ Copy_Source_Directory := new String'(Line (1 .. Last));