|
|
|
@ -179,11 +179,11 @@ stdenv.mkDerivation ({ |
|
|
|
|
sed -i "${gnu_h}" \ |
|
|
|
|
-es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' |
|
|
|
|
|
|
|
|
|
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." |
|
|
|
|
echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." |
|
|
|
|
sed -i "${gnu_h}" \ |
|
|
|
|
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' |
|
|
|
|
-es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' |
|
|
|
|
sed -i gcc/config/t-gnu \ |
|
|
|
|
-es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g' |
|
|
|
|
-es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc.dev}/include|g' |
|
|
|
|
'' |
|
|
|
|
else if cross != null || stdenv.cc.libc != null then |
|
|
|
|
# On NixOS, use the right path to the dynamic linker instead of |
|
|
|
@ -197,7 +197,7 @@ stdenv.mkDerivation ({ |
|
|
|
|
grep -q LIBC_DYNAMIC_LINKER "$header" || continue |
|
|
|
|
echo " fixing \`$header'..." |
|
|
|
|
sed -i "$header" \ |
|
|
|
|
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc}\3"|g' |
|
|
|
|
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' |
|
|
|
|
done |
|
|
|
|
'' |
|
|
|
|
else null; |
|
|
|
@ -205,10 +205,10 @@ stdenv.mkDerivation ({ |
|
|
|
|
inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic |
|
|
|
|
libcCross crossMingw; |
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ texinfo which ] |
|
|
|
|
nativeBuildInputs = [ texinfo which gettext ] |
|
|
|
|
++ optional (perl != null) perl; |
|
|
|
|
|
|
|
|
|
buildInputs = [ gmp mpfr libmpc libelf gettext ] |
|
|
|
|
buildInputs = [ gmp mpfr libmpc libelf ] |
|
|
|
|
++ (optional (ppl != null) ppl) |
|
|
|
|
++ (optional (cloogppl != null) cloogppl) |
|
|
|
|
++ (optional (zlib != null) zlib) |
|
|
|
@ -346,15 +346,28 @@ stdenv.mkDerivation ({ |
|
|
|
|
++ optional (libpthread != null) libpthread))); |
|
|
|
|
|
|
|
|
|
EXTRA_TARGET_CFLAGS = |
|
|
|
|
if cross != null && libcCross != null |
|
|
|
|
then "-idirafter ${libcCross}/include" |
|
|
|
|
if cross != null && libcCross != null then [ |
|
|
|
|
"-idirafter ${libcCross.dev}/include" |
|
|
|
|
] |
|
|
|
|
++ optionals (! crossStageStatic) [ |
|
|
|
|
"-B${libcCross.out}/lib" |
|
|
|
|
] |
|
|
|
|
else null; |
|
|
|
|
|
|
|
|
|
EXTRA_TARGET_LDFLAGS = |
|
|
|
|
if cross != null && libcCross != null |
|
|
|
|
then "-B${libcCross}/lib -Wl,-L${libcCross}/lib" + |
|
|
|
|
(optionalString (libpthreadCross != null) |
|
|
|
|
" -L${libpthreadCross}/lib -Wl,${libpthreadCross.TARGET_LDFLAGS}") |
|
|
|
|
if cross != null && libcCross != null then [ |
|
|
|
|
"-Wl,-L${libcCross.out}/lib" |
|
|
|
|
] |
|
|
|
|
++ (if crossStageStatic then [ |
|
|
|
|
"-B${libcCross.out}/lib" |
|
|
|
|
] else [ |
|
|
|
|
"-Wl,-rpath,${libcCross.out}/lib" |
|
|
|
|
"-Wl,-rpath-link,${libcCross.out}/lib" |
|
|
|
|
]) |
|
|
|
|
++ optionals (libpthreadCross != null) [ |
|
|
|
|
"-L${libpthreadCross}/lib" |
|
|
|
|
"-Wl,${libpthreadCross.TARGET_LDFLAGS}" |
|
|
|
|
] |
|
|
|
|
else null; |
|
|
|
|
|
|
|
|
|
passthru = { inherit langC langCC langAda langFortran langVhdl |
|
|
|
|