diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2018-10-30 20:35:15 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2018-10-30 20:35:15 +0100 |
commit | 1d196d99be8f9122e201f3bff0b87b8f1c4d4248 (patch) | |
tree | 5a701a9fa63398165678228684a5a28b5a6886f4 /pkgs/development/compilers/gcc | |
parent | 50744a279ca9e7985f30ece576c0670b45d197bd (diff) | |
parent | 0e0d20fb5facbaafe04d7b96cff7bab174375e5c (diff) | |
download | nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar.gz nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar.bz2 nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar.lz nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar.xz nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.tar.zst nixlib-1d196d99be8f9122e201f3bff0b87b8f1c4d4248.zip |
Merge staging-next into staging
Diffstat (limited to 'pkgs/development/compilers/gcc')
-rw-r--r-- | pkgs/development/compilers/gcc/4.8/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/4.9/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/5/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/6/default.nix | 29 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/7/default.nix | 41 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/8/default.nix | 32 | ||||
-rw-r--r-- | pkgs/development/compilers/gcc/snapshot/default.nix | 25 |
7 files changed, 124 insertions, 90 deletions
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index cb0ae64f9d34..1b5f514015d6 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -127,7 +127,7 @@ let version = "4.8.5"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -145,10 +145,15 @@ let version = "4.8.5"; # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. "--disable-libgomp" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else ""; @@ -274,7 +279,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -364,20 +369,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 746beb01ecc8..172fd9d2665f 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -132,7 +132,7 @@ let version = "4.9.4"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -153,10 +153,15 @@ let version = "4.9.4"; # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. "--disable-libgomp" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else ""; @@ -287,7 +292,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -377,20 +382,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index eda5855dcf16..5933ba7a72da 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -119,7 +119,7 @@ let version = "5.5.0"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -140,10 +140,15 @@ let version = "5.5.0"; # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. "--disable-libgomp" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else ""; @@ -291,7 +296,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -382,20 +387,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 2980d34fcc49..1af3419bd8d3 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -118,7 +118,7 @@ let version = "6.4.0"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -141,10 +141,15 @@ let version = "6.4.0"; "--disable-libgomp" # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 "--disable-libmpx" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else ""; @@ -295,7 +300,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -386,20 +391,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index 3d96b4f03e06..90621205e383 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -65,7 +65,7 @@ let version = "7.3.0"; [ "--with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" "--with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" ] ++ (if crossMingw && crossStageStatic then [ - "--with-headers=${libcCross}/include" + "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}" "--with-gcc" "--with-gnu-as" "--with-gnu-ld" @@ -90,7 +90,7 @@ let version = "7.3.0"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -113,11 +113,17 @@ let version = "7.3.0"; "--disable-libgomp" # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 "--disable-libmpx" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) - ])); + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + # No final libdecnumber (it may work only in 386) + "--disable-decimal-float" + ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "${targetPlatform.config}${stageNameAddon}-" else ""; @@ -186,7 +192,12 @@ stdenv.mkDerivation ({ sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR' '' ) - else ""); + else "") + + stdenv.lib.optionalString targetPlatform.isAvr '' + makeFlagsArray+=( + 'LIMITS_H_TEST=false' + ) + ''; inherit noSysDirs staticCompiler crossStageStatic libcCross crossMingw; @@ -262,7 +273,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -329,20 +340,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 239ebf22c4ac..1c08b1c89013 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -85,7 +85,7 @@ let version = "8.2.0"; "--disable-libmpx" # requires libc ] else [ (if crossDarwin then "--with-sysroot=${getLib libcCross}/share/sysroot" - else "--with-headers=${getDev libcCross}/include") + else "--with-headers=${getDev libcCross}${libcCross.incdir or "/include"}") "--enable-__cxa_atexit" "--enable-long-long" ] ++ @@ -108,10 +108,15 @@ let version = "8.2.0"; "--disable-libgomp" # musl at least, disable: https://git.buildroot.net/buildroot/commit/?id=873d4019f7fb00f6a80592224236b3ba7d657865 "--disable-libmpx" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; @@ -256,7 +261,7 @@ stdenv.mkDerivation ({ }" ] ++ - (if enableMultilib + (if (enableMultilib || targetPlatform.isAvr) then ["--enable-multilib" "--disable-libquadmath"] else ["--disable-multilib"]) ++ optional (!enableShared) "--disable-shared" ++ @@ -317,23 +322,16 @@ stdenv.mkDerivation ({ LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); - EXTRA_TARGET_FLAGS = optionals - (targetPlatform != hostPlatform && libcCross != null) - ([ - "-idirafter ${getDev libcCross}/include" - ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" - ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index d2f2c2ee558a..c18189cd9496 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -102,10 +102,15 @@ let version = "7-20170409"; # In uclibc cases, libgomp needs an additional '-ldl' # and as I don't know how to pass it, I disable libgomp. "--disable-libgomp" - ] ++ [ - "--enable-threads=posix" - "--enable-nls" - "--disable-decimal-float" # No final libdecnumber (it may work only in 386) + ] + ++ optional (targetPlatform.libc == "newlib") "--with-newlib" + ++ optional (targetPlatform.libc == "avrlibc") "--with-avrlibc" + ++ [ + "--enable-threads=${if targetPlatform.isUnix then "posix" + else if targetPlatform.isWindows then "win32" + else "single"}" + "--enable-nls" + "--disable-decimal-float" # No final libdecnumber (it may work only in 386) ])); stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final"; crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else ""; @@ -285,20 +290,20 @@ stdenv.mkDerivation ({ EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-idirafter ${getDev libcCross}/include" + "-idirafter ${getDev libcCross}${libcCross.incdir or "/include"}" ] ++ optionals (! crossStageStatic) [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ]); EXTRA_TARGET_LDFLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) ([ - "-Wl,-L${libcCross.out}/lib" + "-Wl,-L${libcCross.out}${libcCross.libdir or "/lib"}" ] ++ (if crossStageStatic then [ - "-B${libcCross.out}/lib" + "-B${libcCross.out}${libcCross.libdir or "/lib"}" ] else [ - "-Wl,-rpath,${libcCross.out}/lib" - "-Wl,-rpath-link,${libcCross.out}/lib" + "-Wl,-rpath,${libcCross.out}${libcCross.libdir or "/lib"}" + "-Wl,-rpath-link,${libcCross.out}${libcCross.libdir or "/lib"}" ])); passthru = { |