summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2012-05-25 13:49:01 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2012-05-25 13:49:01 +0000
commit44b2d2121210c8fe3bbd9aa2d3242b39d14e1449 (patch)
treed1da8f21925bcfdf0dd3977a675c96fc78b23f80 /pkgs
parente38bf5459263396e61752a2192451c2ffa1dfbab (diff)
Mingw changes to gcc.
Removing a gcc flag, --enable-version-specific-runtime-libs, that put gcc libs in a speparate directory instead of /lib; this broke the installation of libgcc_s.a for the case of "--enable-shared" in mingw-w64. And we already have all gccs in directories apart. I also add the option --enable-fully-dynamic-string, which is used in the prebuilt mingw64 toolchain; this way nixpkgs creates ABI-compatible binaries with mingw64 upstream. (told by jon_y on irc ##mingw) svn path=/nixpkgs/trunk/; revision=34242
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/gcc/4.6/default.nix9
1 files changed, 6 insertions, 3 deletions
diff --git a/pkgs/development/compilers/gcc/4.6/default.nix b/pkgs/development/compilers/gcc/4.6/default.nix
index ae626e21804e..c94a9285b29b 100644
--- a/pkgs/development/compilers/gcc/4.6/default.nix
+++ b/pkgs/development/compilers/gcc/4.6/default.nix
@@ -127,14 +127,17 @@ let version = "4.6.3";
" --enable-threads=win32" +
" --enable-sjlj-exceptions" +
" --enable-hash-synchronization" +
- " --enable-version-specific-runtime-libs" +
" --disable-libssp" +
" --disable-nls" +
" --with-dwarf2" +
# I think noone uses shared gcc libs in mingw, so we better do the same.
- # In any case, g++ linking is broken by default with shared libs,
+ # In any case, mingw32 g++ linking is broken by default with shared libs,
# unless adding "-lsupc++" to any linking command. I don't know why.
- " --disable-shared"
+ " --disable-shared" +
+ (if cross.config == "x86_64-w64-mingw32" then
+ # To keep ABI compatibility with upstream mingw-w64
+ " --enable-fully-dynamic-string"
+ else "")
else (if cross.libc == "uclibc" then
# In uclibc cases, libgomp needs an additional '-ldl'
# and as I don't know how to pass it, I disable libgomp.