--- a/src/gprlib.adb 2019-06-02 10:57:49.807002425 +0200 +++ b/src/gprlib.adb 2019-06-02 11:01:32.986518447 +0200 @@ -266,7 +266,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"); @@ -2081,7 +2083,7 @@ and then Line (Last - 2 .. Last) = "gcc" then Gnatbind_Name := - new String'(Line (1 .. Last - 3) & "gnatbind"); + new String'(Line (1 .. Last - 3) & "@GNATBIND@"); Objcopy_Name := new String'(Line (1 .. Last - 3) & "objcopy"); @@ -2089,7 +2091,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@"); Objcopy_Name := new String'(Line (1 .. Last - 7) & "objcopy"); end if; @@ -2241,7 +2243,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)); --- a/share/gprconfig/compilers.xml 2019-06-01 21:29:57.611722804 +0200 +++ b/share/gprconfig/compilers.xml 2019-06-01 21:42:56.000608601 +0200 @@ -20,15 +20,15 @@ GCC - (.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc + (.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@ - ${PREFIX}gcc -v + ${PREFIX}gcc-@VER@ -v C - ${PREFIX}gcc -dumpmachine + ${PREFIX}gcc-@VER@ -dumpmachine @@ -170,14 +170,14 @@ --> GNAT - (.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls + (.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls-@VER@ - ${PREFIX}gnatls -v --version + ${PREFIX}gnatls-@VER@ -v --version Ada - ${PREFIX}gcc -v + ${PREFIX}gcc-@VER@ -v @@ -187,67 +187,11 @@ \.\./$TARGET/lib/gnat/(.*)/adalib/ - ${PREFIX}gcc -dumpmachine + ${PREFIX}gcc-@VER@ -dumpmachine - - - - GNAT_CODEPEER - (.*gnsa-|.*codepeer-)gnatls - - ${PREFIX}gnatls -v - - - Ada,C,C++ - - ${PREFIX}gcc -v - - - - \.\./lib/gcc/.*/$gcc_version/adalib/ - \.\./lib/gnat/(.*)/adalib/ - \.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/ - - codepeer - - - - - - GNAT_LLVM - (llvm-)gnatls - - ${PREFIX}gnatls -v - - - Ada - - ${PREFIX}gcc -v - - - - \.\./lib/rts-native/adalib/ - - llvm - - - - - C_LLVM - clang - - clang --version - - - - - C - llvm - - C++_LLVM @@ -262,45 +206,6 @@ llvm - - - - GNAT_C - (c-)gnatls - - ${PREFIX}gnatls -v - - - Ada - - ${PREFIX}gcc -v - - - - \.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/ - \.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/ - \.\./lib/gnat/(.*)/adalib/ - - c - - - - - - GNAT_DOTNET - (.*dotnet-)gnatls - - ${PREFIX}gnatls -v - - - Ada - - \.\./lib/dotgnat/adalib/ - \.\./lib/dotgnat/rts-(.*)/adalib/ - - dotnet - - @@ -421,21 +326,6 @@ - - - LLVM - clang - - clang -v - - - C,C++ - - clang -dumpmachine - - - - WINDRES --- a/share/gprconfig/gnat.xml 2019-06-01 21:53:53.383281607 +0200 +++ b/share/gprconfig/gnat.xml 2019-06-01 21:57:08.414196529 +0200 @@ -60,7 +60,7 @@ &filter_gnat; package Compiler is - for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc"; + for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@"; for Language_Kind ("Ada") use "unit_based"; for Dependency_Kind ("Ada") use "ALI_File"; for Leading_Required_Switches ("Ada") use @@ -77,6 +77,9 @@ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE"; for Driver ("Ada") use "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind"; + for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@"); + for Required_Switches ("Ada") use + Binder'Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); end Binder; for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; --- a/share/gprconfig/c.xml 2019-06-01 21:57:36.244755708 +0200 +++ b/share/gprconfig/c.xml 2019-06-01 21:59:14.919191663 +0200 @@ -14,7 +14,7 @@ package Compiler is - for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc"; + for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@"; end Compiler; --- a/share/gprconfig/linker.xml 2019-06-01 21:59:34.546880368 +0200 +++ b/share/gprconfig/linker.xml 2019-06-01 22:00:50.906668730 +0200 @@ -1015,7 +1015,7 @@ for Library_Partial_Linker use - ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o"); + ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o"); @@ -1034,7 +1034,7 @@ for Library_Partial_Linker use - ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o"); + ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o"); --- a/share/gprconfig/linker.xml 2020-06-16 22:13:38.508782578 +0200 +++ b/share/gprconfig/linker.xml 2020-06-16 22:14:32.693966110 +0200 @@ -112,6 +112,9 @@ for Object_Lister use ("nm", "-g"); for Object_Lister_Matcher use " [TDRB] (.*)"; + LDFLAGS := External_As_List ("LDFLAGS", " "); + for Leading_Library_Options use LDFLAGS; + package Linker is for Export_File_Format use "GNU"; for Export_File_Switch use "-Wl,--version-script=";