about summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc/builder.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/gcc/builder.sh')
-rw-r--r--pkgs/development/compilers/gcc/builder.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index de3e9ba3ef5f..ee56425f00b4 100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -212,6 +212,7 @@ postInstall() {
     # Move runtime libraries to $lib.
     moveToOutput "lib/lib*.so*" "$lib"
     moveToOutput "lib/lib*.la"  "$lib"
+    moveToOutput "lib/lib*.dylib" "$lib"
     moveToOutput "share/gcc-*/python" "$lib"
 
     for i in "$lib"/lib/*.{la,py}; do
@@ -221,6 +222,7 @@ postInstall() {
     if [ -n "$enableMultilib" ]; then
         moveToOutput "lib64/lib*.so*" "$lib"
         moveToOutput "lib64/lib*.la"  "$lib"
+        moveToOutput "lib64/lib*.dylib" "$lib"
 
         for i in "$lib"/lib64/*.{la,py}; do
             substituteInPlace "$i" --replace "$out" "$lib"
@@ -251,6 +253,16 @@ postInstall() {
         done
     fi
 
+    if type "install_name_tool"; then
+        for i in "$lib"/lib/*.*.dylib; do
+            install_name_tool -id "$i" "$i" || true
+            for old_path in $(otool -L "$i" | grep "$out" | awk '{print $1}'); do
+              new_path=`echo "$old_path" | sed "s,$out,$lib,"`
+              install_name_tool -change "$old_path" "$new_path" "$i" || true
+            done
+        done
+    fi
+
     # Get rid of some "fixed" header files
     rm -rfv $out/lib/gcc/*/*/include-fixed/{root,linux}