mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 20:39:04 +02:00
cross GCC: Fix some paths to libc headers (after multiple outputs)
It's not completely clear to me why the path to libc headers is set differently when cross building...
This commit is contained in:
parent
aaf008bda4
commit
a06a405d0b
|
@ -96,6 +96,7 @@ stdenv.mkDerivation {
|
|||
echo "-L${libc_lib}/lib" > $out/nix-support/libc-ldflags
|
||||
|
||||
echo "${libc_lib}" > $out/nix-support/orig-libc
|
||||
echo "${libc_dev}" > $out/nix-support/orig-libc-dev
|
||||
''
|
||||
|
||||
+ (if nativeTools then ''
|
||||
|
|
|
@ -111,6 +111,7 @@ chmod +x "$out/bin/$crossConfig-ld"
|
|||
# Glibc.
|
||||
test -n "$gcc" && echo $gcc > $out/nix-support/orig-cc
|
||||
test -n "$libc" && echo $libc > $out/nix-support/orig-libc
|
||||
test -n "$libc_dev" && echo $libc_dev > $out/nix-support/orig-libc-dev
|
||||
|
||||
doSubstitute "$addFlags" "$out/nix-support/add-flags"
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ stdenv.mkDerivation {
|
|||
addFlags = ./add-flags;
|
||||
inherit nativeTools nativeLibc nativePrefix gcc binutils;
|
||||
libc = if libc ? out then libc.out else libc;
|
||||
libc_dev = if libc ? dev then libc.dev else libc;
|
||||
crossConfig = if cross != null then cross.config else null;
|
||||
osxMinVersion = cross.osxMinVersion or null;
|
||||
gccLibs = if gcc != null then gccLibs else null;
|
||||
|
|
|
@ -86,15 +86,16 @@ if test "$noSysDirs" = "1"; then
|
|||
extraFlags="$(cat $NIX_CC_CROSS/nix-support/libc-cflags)"
|
||||
extraLDFlags="$(cat $NIX_CC_CROSS/nix-support/libc-ldflags) $(cat $NIX_CC_CROSS/nix-support/libc-ldflags-before)"
|
||||
|
||||
# Use *real* header files, otherwise a limits.h is generated
|
||||
# that does not include Glibc's limits.h (notably missing
|
||||
# SSIZE_MAX, which breaks the build).
|
||||
NIX_FIXINC_DUMMY_CROSS=$(cat $NIX_CC_CROSS/nix-support/orig-libc)/include
|
||||
|
||||
# The path to the Glibc binaries such as `crti.o'.
|
||||
glibc_dir="$(cat $NIX_CC_CROSS/nix-support/orig-libc)"
|
||||
glibc_libdir="$glibc_dir/lib"
|
||||
configureFlags="$configureFlags --with-native-system-header-dir=$glibc_dir/include"
|
||||
glibc_devdir="$(cat $NIX_CC_CROSS/nix-support/orig-libc-dev)"
|
||||
configureFlags="$configureFlags --with-native-system-header-dir=$glibc_devdir/include"
|
||||
|
||||
# Use *real* header files, otherwise a limits.h is generated
|
||||
# that does not include Glibc's limits.h (notably missing
|
||||
# SSIZE_MAX, which breaks the build).
|
||||
NIX_FIXINC_DUMMY_CROSS="$glibc_devdir/include"
|
||||
|
||||
extraFlags="-I$NIX_FIXINC_DUMMY_CROSS $extraFlags"
|
||||
extraLDFlags="-L$glibc_libdir -rpath $glibc_libdir $extraLDFlags"
|
||||
|
|
Loading…
Reference in a new issue