summary refs log tree commit diff
path: root/pkgs/stdenv/linux
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2016-01-05 11:25:53 +0200
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2016-07-20 02:38:10 +0300
commit9f0dc294da55783c4636b68a78f755754606f2c7 (patch)
tree17b33e2f93f0e38848c1be5d48397d53c2d7cf3a /pkgs/stdenv/linux
parent953249db34d2c385cdeef0e50e6449f736a8bb65 (diff)
downloadnixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar.gz
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar.bz2
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar.lz
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar.xz
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.tar.zst
nixpkgs-9f0dc294da55783c4636b68a78f755754606f2c7.zip
make-bootstrap-tools-cross.nix: Add/fix some .so dependencies
- cloog, ppl, cloogppl aren't used by recent GCCs. Kill references to them.
- Use correct versions of isl, as the current GCC depends
  on non-default versions of them.
- Also clarify isl dynamic libraries are needed in cross
  builds, but not in native builds
- Since aeb3d8c (bzip2: fix cross build on mingw by using autoconf patch),
  it seems that the bzip2 binary depends on libbz2 when cross compiling.
  So copy libbz2 into the bootstrap tarball as well.
- Curl isn't used in the bootstrap tools since e6f61b4cf3388.
Diffstat (limited to 'pkgs/stdenv/linux')
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix23
1 files changed, 8 insertions, 15 deletions
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 6dfe1bf41e4..8dce40b08a7 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -74,15 +74,13 @@ let
   gcc = pkgs.gcc.cc.crossDrv;
   gmpxx = pkgs.gmpxx.crossDrv;
   mpfr = pkgs.mpfr.crossDrv;
-  ppl = pkgs.ppl.crossDrv;
-  cloogppl = pkgs.cloogppl.crossDrv;
-  cloog = pkgs.cloog.crossDrv;
   zlib = pkgs.zlib.crossDrv;
-  isl = pkgs.isl.crossDrv;
   libmpc = pkgs.libmpc.crossDrv;
   binutils = pkgs.binutils.crossDrv;
   libelf = pkgs.libelf.crossDrv;
 
+  # Keep these versions in sync with the versions used in the current GCC!
+  isl = pkgs.isl_0_14.crossDrv;
 in
 
 rec {
@@ -94,12 +92,6 @@ rec {
     singleBinary = "symlinks";
   })).crossDrv;
 
-  curlMinimal = (pkgs.curl.override {
-    zlibSupport = false;
-    sslSupport = false;
-    scpSupport = false;
-  }).crossDrv;
-
   busyboxMinimal = (pkgs.busybox.override {
     # TBD: uClibc is broken.
     # useUclibc = true;
@@ -172,8 +164,6 @@ rec {
         cp -d ${gnumake}/bin/* $out/bin
         cp -d ${patch}/bin/* $out/bin
         cp ${patchelf}/bin/* $out/bin
-        cp ${curlMinimal}/bin/curl $out/bin
-        cp -d ${curlMinimal}/lib/libcurl* $out/lib
 
         cp -d ${gnugrep.pcre.crossDrv}/lib/libpcre*.so* $out/lib # needed by grep
 
@@ -206,10 +196,13 @@ rec {
         cp -d ${zlib.out}/lib/libz.so* $out/lib
         cp -d ${libelf}/lib/libelf.so* $out/lib
 
-        # TBD: Why are these needed for cross but not native tools?
-        cp -d ${cloogppl}/lib/libcloog*.so* $out/lib
-        cp -d ${cloog}/lib/libcloog*.so* $out/lib
+        # These needed for cross but not native tools because the stdenv
+        # GCC has certain things built in statically. See
+        # pkgs/stdenv/linux/default.nix for the details.
         cp -d ${isl}/lib/libisl*.so* $out/lib
+        # Also this is needed since bzip2 uses a custom build system
+        # for native builds but autoconf (via a patch) for cross builds
+        cp -d ${bzip2}/lib/libbz2.so* $out/lib
 
         # Copy binutils.
         for i in as ld ar ranlib nm strip readelf objdump; do