summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-12-08 19:46:32 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-12-08 19:46:32 +0000
commit916896e252a902f575fdd868c5189d95865a07cc (patch)
tree353dbe79989470ca55f25cf7118ad02ed9f7b497 /pkgs
parent21b2bc74b2dcd10e97ee3cf75e191912f951c406 (diff)
downloadnixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar.gz
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar.bz2
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar.lz
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar.xz
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.tar.zst
nixpkgs-916896e252a902f575fdd868c5189d95865a07cc.zip
I took away the patch about the -Bxxx not being passed to target libraries
through libtool.
I found a make variable holding flags that will not be trimmed by libtool:
FLAGS_FOR_TARGET.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18846
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/gcc-4.4/builder.sh40
-rw-r--r--pkgs/development/compilers/gcc-4.4/default.nix2
-rw-r--r--pkgs/development/compilers/gcc-4.4/libtool-glibc.patch48
3 files changed, 23 insertions, 67 deletions
diff --git a/pkgs/development/compilers/gcc-4.4/builder.sh b/pkgs/development/compilers/gcc-4.4/builder.sh
index 27ba79a0987..45a8cc5394e 100644
--- a/pkgs/development/compilers/gcc-4.4/builder.sh
+++ b/pkgs/development/compilers/gcc-4.4/builder.sh
@@ -10,9 +10,9 @@ mkdir $NIX_FIXINC_DUMMY
 export CPP="gcc -E"
 
 if test "$staticCompiler" = "1"; then
-    NIX_EXTRA_LDFLAGS="-static"
+    EXTRA_LDFLAGS="-static"
 else
-    NIX_EXTRA_LDFLAGS=""
+    EXTRA_LDFLAGS=""
 fi
 
 if test "$noSysDirs" = "1"; then
@@ -21,7 +21,7 @@ if test "$noSysDirs" = "1"; then
 
         # Figure out what extra flags to pass to the gcc compilers
         # being generated to make sure that they use our glibc.
-        extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
+        extraFlags="$(cat $NIX_GCC/nix-support/libc-cflags)"
         extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)"
 
         # Use *real* header files, otherwise a limits.h is generated
@@ -34,18 +34,18 @@ if test "$noSysDirs" = "1"; then
         
     else
         # Hack: support impure environments.
-        extraCFlags="-isystem /usr/include"
+        extraFlags="-isystem /usr/include"
         extraLDFlags="-L/usr/lib64 -L/usr/lib"
         glibc_libdir="/usr/lib"
         export NIX_FIXINC_DUMMY=/usr/include
     fi
 
-    extraCFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY $extraCFlags"
+    extraFlags="-g0 -O2 -I$NIX_FIXINC_DUMMY $extraFlags"
     extraLDFlags="--strip-debug -L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
 
-    export NIX_EXTRA_CFLAGS="$extraCFlags"
+    EXTRA_FLAGS="$extraFlags"
     for i in $extraLDFlags; do
-        export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i"
+        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,$i"
     done
 
     if test -n "$targetConfig"; then
@@ -57,30 +57,34 @@ if test "$noSysDirs" = "1"; then
         unset LIBRARY_PATH
         unset CPATH
         if test -z "$crossStageStatic"; then
-            export NIX_EXTRA_CFLAGS_TARGET="-g0 -O2 -B${libcCross}/lib -idirafter ${libcCross}/include"
-            export NIX_EXTRA_LDFLAGS_TARGET="-Wl,-L${libcCross}/lib"
+            EXTRA_FLAGS_TARGET="-g0 -O2 -B${libcCross}/lib -idirafter ${libcCross}/include"
+            EXTRA_LDFLAGS_TARGET="-Wl,-L${libcCross}/lib"
         fi
     else
-        # To be read by configure scripts (libtool-glibc.patch)
-        export NIX_EXTRA_CFLAGS_TARGET="$NIX_EXTRA_CFLAGS"
-        export NIX_EXTRA_LDFLAGS_TARGET="$NIX_EXTRA_LDFLAGS"
+        EXTRA_FLAGS_TARGET="$EXTRA_FLAGS"
+        EXTRA_LDFLAGS_TARGET="$EXTRA_LDFLAGS"
     fi
 
+    # CFLAGS_FOR_TARGET are needed for the libstdc++ configure script to find
+    # the startfiles.
+    # FLAGS_FOR_TARGET are needed for the target libraries to receive the -Bxxx
+    # for the startfiles.
     makeFlagsArray=( \
         "${makeFlagsArray[@]}" \
         NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
         SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \
-        CFLAGS_FOR_BUILD="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-        CFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET" \
-        LDFLAGS_FOR_BUILD="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-        LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET" \
+        CFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        CFLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \
+        FLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \
+        LDFLAGS_FOR_BUILD="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+        LDFLAGS_FOR_TARGET="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \
         )
 
     if test -z "$targetConfig"; then
         makeFlagsArray=( \
             "${makeFlagsArray[@]}" \
-            BOOT_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \
-            BOOT_LDFLAGS="$NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET" \
+            BOOT_CFLAGS="$EXTRA_FLAGS $EXTRA_LDFLAGS" \
+            BOOT_LDFLAGS="$EXTRA_FLAGS_TARGET $EXTRA_LDFLAGS_TARGET" \
             )
     fi
 
diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix
index d0c910adb7d..299c4cb9b39 100644
--- a/pkgs/development/compilers/gcc-4.4/default.nix
+++ b/pkgs/development/compilers/gcc-4.4/default.nix
@@ -88,7 +88,7 @@ stdenv.mkDerivation ({
 
   patches =
     [./pass-cxxcpp.patch
-     ./libtool-glibc.patch   # some libraries don't let the proper -Btargetglibcpath pass
+#     ./libtool-glibc.patch   # some libraries don't let the proper -Btargetglibcpath pass
      ./libstdc++-target.patch # (fixed in gcc 4.4.3) bad mixture of build/target flags
      ]
     ++ optional noSysDirs ./no-sys-dirs.patch;
diff --git a/pkgs/development/compilers/gcc-4.4/libtool-glibc.patch b/pkgs/development/compilers/gcc-4.4/libtool-glibc.patch
deleted file mode 100644
index 6f69070beb3..00000000000
--- a/pkgs/development/compilers/gcc-4.4/libtool-glibc.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/libgomp/configure b/libgomp/configure
-index deef673..9e4a790 100755
---- a/libgomp/configure
-+++ b/libgomp/configure
-@@ -23848,6 +23848,11 @@ old_archive_cmds=$lt_old_archive_cmds
- # A language specific compiler.
- CC=$lt_compiler
- 
-+# Ugly hack to get libmudflap (and other libraries) to build.
-+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
-+# to Glibc gets lost.  Here we forcibly add it to any invocation.
-+CC="\$CC $NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET"
-+
- # Is the compiler the GNU compiler?
- with_gcc=$GCC
- 
-diff --git a/libmudflap/configure b/libmudflap/configure
-index ae1be92..4ee1e18 100755
---- a/libmudflap/configure
-+++ b/libmudflap/configure
-@@ -15044,6 +15044,11 @@ old_archive_cmds=$lt_old_archive_cmds
- # A language specific compiler.
- CC=$lt_compiler
- 
-+# Ugly hack to get libmudflap (and other libraries) to build.
-+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
-+# to Glibc gets lost.  Here we forcibly add it to any invocation.
-+CC="\$CC $NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET"
-+
- # Is the compiler the GNU compiler?
- with_gcc=$GCC
- 
-diff --git a/libssp/configure b/libssp/configure
-index ee2a41f..7f3e1fd 100755
---- a/libssp/configure
-+++ b/libssp/configure
-@@ -12926,6 +12926,11 @@ old_archive_cmds=$lt_old_archive_cmds
- # A language specific compiler.
- CC=$lt_compiler
- 
-+# Ugly hack to get libmudflap (and other libraries) to build.
-+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
-+# to Glibc gets lost.  Here we forcibly add it to any invocation.
-+CC="\$CC $NIX_EXTRA_CFLAGS_TARGET $NIX_EXTRA_LDFLAGS_TARGET"
-+
- # Is the compiler the GNU compiler?
- with_gcc=$GCC
-