summaryrefslogtreecommitdiff
path: root/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch')
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch235
1 files changed, 235 insertions, 0 deletions
diff --git a/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch
new file mode 100644
index 000000000000..94973bfceac7
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch
@@ -0,0 +1,235 @@
+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-conf.adb.old 2017-09-12 21:29:25.945747949 +0200
++++ gprbuild-gpl-2016-src/gpr/src/gpr-conf.adb 2017-09-12 21:35:16.299101715 +0200
+@@ -1839,6 +1839,16 @@
+ end;
+ end if;
+
++ Compiler_Root := First_Compiler_Root;
++ while Compiler_Root.Next /= null loop
++ Compiler_Root := Compiler_Root.Next;
++ end loop;
++ Compiler_Root.Next :=
++ new Compiler_Root_Data'
++ (Root => new String'("/usr"),
++ Runtimes => null,
++ Next => null);
++
+ -- Now that the compiler roots are in a correct order, add the
+ -- directories corresponding to these compiler roots in the
+ -- project path.