summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-21 02:42:52 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-21 02:42:52 +0000
commita263cb814e42965d08d9dfe2d6e847e6be2e06c2 (patch)
tree299b226febc9bb588c398d0e8658923ac39931ef /pkgs/development
parenta5fee3325a61b9ae33a0132a653d19079710002e (diff)
downloadnixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar.gz
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar.bz2
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar.lz
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar.xz
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.tar.zst
nixlib-a263cb814e42965d08d9dfe2d6e847e6be2e06c2.zip
Fixed some details on cross compilation. Among others:
- Stating better the guile dependencies (native/host) for guile to build
- Fixing cross-linking, through --rpath-link (ld(1) explains well about it
- Made gcc call the linker and the assembler through the gcc wrapper instead of
  directly. I thought this was the source of missing -rpath's, but the source
  of the problem ended up being the lack of --rpath-link. But I think the
  native gcc calls the wrapped ld and as, so let's do the same cross
  compiling.
- Removed the binutilsCross from the glibc expressions. Now they are built
  using the gcc-cross-wrapper, and they were built with the direct gcc and
  binutils before this change.
- I think patchelf and strip don't break the cross-compiled binaries, so I
  reallow them on cross compilation.
- I disable the checkPhase on cross compilation. This made gmp and libtool
  fail when cross compiled, iirc.


svn path=/nixpkgs/branches/stdenv-updates/; revision=18498
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/gcc-4.3/builder.sh5
-rw-r--r--pkgs/development/interpreters/guile/default.nix6
-rw-r--r--pkgs/development/libraries/glibc-2.11/default.nix3
-rw-r--r--pkgs/development/libraries/glibc-2.9/default.nix3
-rw-r--r--pkgs/development/libraries/gmp/default.nix2
5 files changed, 7 insertions, 12 deletions
diff --git a/pkgs/development/compilers/gcc-4.3/builder.sh b/pkgs/development/compilers/gcc-4.3/builder.sh
index 183575edf193..69e2a0b137ea 100644
--- a/pkgs/development/compilers/gcc-4.3/builder.sh
+++ b/pkgs/development/compilers/gcc-4.3/builder.sh
@@ -124,11 +124,6 @@ postInstall() {
             ln -sfn g++ $i
         fi
     done
-
-    # gcc will look for the binutils there, called through collect2
-    if test -n "$crossConfig"; then
-      ln -s $binutilsCross/$crossConfig/bin $out/$crossConfig/bin
-    fi
 }
 
 
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index f81f8ab1e828..5be39a20f5a5 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -9,13 +9,15 @@ stdenv.mkDerivation rec {
   };
 
   buildNativeInputs = [ makeWrapper ];
-  propagatedBuildInputs = [ libtool ];
-  propagatedBuildNativeInputs = [readline gmp gawk];
+  propagatedBuildInputs = [ libtool gmp ];
+  propagatedBuildNativeInputs = [readline gawk];
 
   postInstall = ''
     wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
   '';
 
+  NIX_DEBUG=1;
+
   preBuild = ''
     sed -e '/lt_dlinit/a  lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c
   '';
diff --git a/pkgs/development/libraries/glibc-2.11/default.nix b/pkgs/development/libraries/glibc-2.11/default.nix
index ad312123b3ae..5cfdb22e6ac4 100644
--- a/pkgs/development/libraries/glibc-2.11/default.nix
+++ b/pkgs/development/libraries/glibc-2.11/default.nix
@@ -2,7 +2,6 @@
 , installLocales ? true
 , profilingLibraries ? false
 , cross ? null
-, binutilsCross ? null
 , gccCross ? null
 }:
 
@@ -78,7 +77,7 @@ stdenv.mkDerivation rec {
     "--without-fp"
   ] else []);
 
-  buildInputs = stdenv.lib.optionals (cross != null) [ binutilsCross gccCross ];
+  buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ];
 
   preInstall = ''
     ensureDir $out/lib
diff --git a/pkgs/development/libraries/glibc-2.9/default.nix b/pkgs/development/libraries/glibc-2.9/default.nix
index 9f02fa33e0df..98e281c19180 100644
--- a/pkgs/development/libraries/glibc-2.9/default.nix
+++ b/pkgs/development/libraries/glibc-2.9/default.nix
@@ -2,7 +2,6 @@
 , installLocales ? true
 , profilingLibraries ? false
 , cross ? null
-, binutilsCross ? null
 , gccCross ? null
 }:
 
@@ -80,7 +79,7 @@ stdenv.mkDerivation rec {
     "--without-fp"
   ] else []);
 
-  buildInputs = stdenv.lib.optionals (cross != null) [ binutilsCross gccCross ];
+  buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ];
 
   preInstall = ''
     ensureDir $out/lib
diff --git a/pkgs/development/libraries/gmp/default.nix b/pkgs/development/libraries/gmp/default.nix
index 541fabddd441..72561f270311 100644
--- a/pkgs/development/libraries/gmp/default.nix
+++ b/pkgs/development/libraries/gmp/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1j5pklq36ivg2cim5wfysns229a544lqkimp3mlzkwjl513ra0ma";
   };
 
-  buildInputs = [m4];
+  buildNativeInputs = [m4];
 
   preConfigure = "ln -sf configfsf.guess config.guess";