mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-07 21:18:05 +03:00
Merge pull request #300894 from wegank/gnat13-fix
gnat13: fix build on x86_64-darwin
This commit is contained in:
commit
d7d443c4ce
@ -41,6 +41,10 @@ stdenv.mkDerivation {
|
||||
"LIBRARY_TYPE=relocatable"
|
||||
];
|
||||
|
||||
env = lib.optionalAttrs stdenv.isDarwin {
|
||||
NIX_LDFLAGS = "-headerpad_max_install_names";
|
||||
};
|
||||
|
||||
# Fixes gprbuild being linked statically always. Based on the AUR's patch:
|
||||
# https://aur.archlinux.org/cgit/aur.git/plain/0001-Makefile-build-relocatable-instead-of-static-binary.patch?h=gprbuild&id=bac524c76cd59c68fb91ef4dfcbe427357b9f850
|
||||
patches = lib.optionals (!stdenv.hostPlatform.isStatic) [
|
||||
|
@ -128,7 +128,10 @@ in
|
||||
++ 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
|
||||
|
@ -0,0 +1,18 @@
|
||||
--- 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)
|
Loading…
Reference in New Issue
Block a user