gnat13: fix build on x86_64-darwin

Changed files
+22 -1
pkgs
development
+4 -1
pkgs/development/compilers/gcc/patches/default.nix
···
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./ada-cctools-as-detection-configure.patch
# Use absolute path in GNAT dylib install names on Darwin
-
++ optional (atLeast12 && stdenv.isDarwin && langAda) ./gnat-darwin-dylib-install-name.patch
+
++ optionals (stdenv.isDarwin && langAda) ({
+
"13" = [ ./gnat-darwin-dylib-install-name-13.patch ];
+
"12" = [ ./gnat-darwin-dylib-install-name.patch ];
+
}.${majorVersion} or [])
# We only apply this patch when building a native toolchain for aarch64-darwin, as it breaks building
# a foreign one: https://github.com/iains/gcc-12-branch/issues/18
+18
pkgs/development/compilers/gcc/patches/gnat-darwin-dylib-install-name-13.patch
···
+
--- a/gcc/ada/gcc-interface/Makefile.in
+
+++ b/gcc/ada/gcc-interface/Makefile.in
+
@@ -788,13 +788,13 @@ gnatlib-shared-darwin:
+
-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+
$(SO_OPTS) \
+
- -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
$(MISCLIB)
+
cd $(RTSDIR); $(GCC_FOR_ADA_RTS) -dynamiclib $(PICFLAG_FOR_TARGET) \
+
-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
$(GNATRTL_TASKING_OBJS) \
+
$(SO_OPTS) \
+
- -Wl,-install_name,@rpath/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
+ -Wl,-install_name,$(ADA_RTL_DSO_DIR)/libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
$(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+
cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+
libgnat$(soext)