diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-23 23:16:40 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-23 23:16:40 +0000 |
commit | eadcd4462d4a626219c27fd53aaf85f52f3b10cd (patch) | |
tree | 487440c089207153b6ac3196fe431bc493314170 /pkgs/stdenv/adapters.nix | |
parent | d8aa5b5db19275b428d0b2a84cf26ecf836f3a55 (diff) | |
download | nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar.gz nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar.bz2 nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar.lz nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar.xz nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.tar.zst nixlib-eadcd4462d4a626219c27fd53aaf85f52f3b10cd.zip |
Making, in cross-builds, every buildInput a propagatedBuildInput. We need
this because 'ld' wants to know the path of every library involved in a dynamic linking. I imagine that ld does not need that in native builds because it can call the loader for it to resolve the library rpaths, but this is not the case for cross-building. svn path=/nixpkgs/branches/stdenv-updates/; revision=18577
Diffstat (limited to 'pkgs/stdenv/adapters.nix')
-rw-r--r-- | pkgs/stdenv/adapters.nix | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 9789a52255e3..47486398013d 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -147,8 +147,14 @@ rec { ++ nativeInputsFromBuildInputs ++ [ gccCross binutilsCross ] ++ stdenv.lib.optional selfBuildNativeInput buildDrv; - buildInputs = buildInputsDrvs; - propagatedBuildInputs = propagatedBuildInputsDrvs; + + # Cross-linking dynamic libraries, every buildInput should + # be propagated because ld needs the -rpath-link to find + # any library needed to link the program dynamically at + # loader time. ld(1) explains it. + buildInputs = []; + propagatedBuildInputs = propagatedBuildInputsDrvs + + buildInputsDrvs; propagatedBuildNativeInputs = propagatedBuildNativeInputsDrvs; crossConfig = cross.config; |