gcc: add callFile to make it more convenient to call files
inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gccX.cc.override)" | jq '.[]' --raw-output'
This commit is contained in:
@@ -24,7 +24,7 @@
|
|||||||
, threadsCross ? null # for MinGW
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog ? null # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, buildPackages
|
, buildPackages
|
||||||
, libxcrypt
|
, libxcrypt
|
||||||
}:
|
}:
|
||||||
@@ -83,6 +83,67 @@ let majorVersion = "10";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc10.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnatboot
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langAda
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langD
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
libxcrypt
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -158,39 +219,12 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
langAda
|
|
||||||
libxcrypt
|
|
||||||
gnatboot
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = (import ../common/pre-configure.nix {
|
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
|
||||||
}) + ''
|
|
||||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@@ -198,32 +232,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langD
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -232,8 +241,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -256,10 +264,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -89,6 +89,67 @@ let majorVersion = "11";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc11.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnatboot
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langAda
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langD
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
libxcrypt
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -164,39 +225,12 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
langAda
|
|
||||||
libxcrypt
|
|
||||||
gnatboot
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = (import ../common/pre-configure.nix {
|
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
|
||||||
}) + ''
|
|
||||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@@ -204,32 +238,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langD
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -238,8 +247,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -262,10 +270,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -123,6 +123,67 @@ let majorVersion = "12";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc12.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnatboot
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langAda
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langD
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
libxcrypt
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -198,42 +259,12 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
libucontext
|
|
||||||
libxcrypt
|
|
||||||
gnatboot
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
|
|
||||||
preConfigure = (import ../common/pre-configure.nix {
|
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
|
||||||
}) + ''
|
|
||||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
@@ -241,32 +272,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langD
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -275,8 +281,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -299,10 +304,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -111,6 +111,82 @@ let majorVersion = "4";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
javaEcj
|
||||||
|
javaAntlr
|
||||||
|
xlibs
|
||||||
|
javaAwtGtk
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc48.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
boehmgc
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnused
|
||||||
|
gtk2
|
||||||
|
isl
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJava
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libICE
|
||||||
|
libSM
|
||||||
|
libX11
|
||||||
|
libXi
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libXt
|
||||||
|
libXtst
|
||||||
|
libart_lgpl
|
||||||
|
libcCross threadsCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
unzip
|
||||||
|
which
|
||||||
|
x11Support
|
||||||
|
xorgproto
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
# We need all these X libraries when building AWT with GTK.
|
# We need all these X libraries when building AWT with GTK.
|
||||||
@@ -158,74 +234,16 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
version
|
|
||||||
langJava
|
|
||||||
javaAwtGtk
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
pkg-config
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
cloog
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
boehmgc
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
gtk2
|
|
||||||
libart_lgpl
|
|
||||||
perl
|
|
||||||
xlibs
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform langJava langGo crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
cloog
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langJava javaAwtGtk javaAntlr javaEcj
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -234,8 +252,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -273,10 +290,7 @@ stdenv.mkDerivation ({
|
|||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -127,6 +127,82 @@ let majorVersion = "4";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
javaEcj
|
||||||
|
javaAntlr
|
||||||
|
xlibs
|
||||||
|
javaAwtGtk
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc49.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
boehmgc
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnused
|
||||||
|
gtk2
|
||||||
|
isl
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJava
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libICE
|
||||||
|
libSM
|
||||||
|
libX11
|
||||||
|
libXi
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libXt
|
||||||
|
libXtst
|
||||||
|
libart_lgpl
|
||||||
|
libcCross threadsCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
unzip
|
||||||
|
which
|
||||||
|
x11Support
|
||||||
|
xorgproto
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
# We need all these X libraries when building AWT with GTK.
|
# We need all these X libraries when building AWT with GTK.
|
||||||
@@ -178,74 +254,16 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
version
|
|
||||||
langJava
|
|
||||||
javaAwtGtk
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
pkg-config
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
cloog
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
boehmgc
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
gtk2
|
|
||||||
libart_lgpl
|
|
||||||
perl
|
|
||||||
xlibs
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform langJava langGo crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
cloog
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langJava javaAwtGtk javaAntlr javaEcj
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -254,8 +272,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -293,10 +310,7 @@ stdenv.mkDerivation ({
|
|||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
, threadsCross ? null # for MinGW
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog ? null # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, buildPackages
|
, buildPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -115,6 +115,86 @@ let majorVersion = "6";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
javaEcj
|
||||||
|
javaAntlr
|
||||||
|
xlibs
|
||||||
|
javaAwtGtk
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc6.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
boehmgc
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchFromGitHub
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
flex
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnatboot
|
||||||
|
gnused
|
||||||
|
gtk2
|
||||||
|
isl
|
||||||
|
langAda
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJava
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libICE
|
||||||
|
libSM
|
||||||
|
libX11
|
||||||
|
libXi
|
||||||
|
libXrandr
|
||||||
|
libXrender
|
||||||
|
libXt
|
||||||
|
libXtst
|
||||||
|
libart_lgpl
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
pkg-config
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
unzip
|
||||||
|
which
|
||||||
|
x11Support
|
||||||
|
xorgproto
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
# We need all these X libraries when building AWT with GTK.
|
# We need all these X libraries when building AWT with GTK.
|
||||||
@@ -193,78 +273,18 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
version
|
|
||||||
langAda
|
|
||||||
gnatboot
|
|
||||||
flex
|
|
||||||
langJava
|
|
||||||
javaAwtGtk
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
pkg-config
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
boehmgc
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
gtk2
|
|
||||||
libart_lgpl
|
|
||||||
perl
|
|
||||||
xlibs
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langJava langAda langGo crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langJava javaAwtGtk javaAntlr javaEcj
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -273,8 +293,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -312,10 +331,7 @@ stdenv.mkDerivation ({
|
|||||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||||
));
|
));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
, threadsCross ? null # for MinGW
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog ? null # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, buildPackages
|
, buildPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -91,6 +91,63 @@ let majorVersion = "7";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc7.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -165,66 +222,20 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
|
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform langGo crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = (callFile ../common/configure-flags.nix { })
|
||||||
inherit
|
++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
} ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
|
|
||||||
++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
|
++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -235,8 +246,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -261,10 +271,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
, threadsCross ? null # for MinGW
|
, threadsCross ? null # for MinGW
|
||||||
, crossStageStatic ? false
|
, crossStageStatic ? false
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog ? null # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, buildPackages
|
, buildPackages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@@ -73,6 +73,63 @@ let majorVersion = "8";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc8.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -147,65 +204,18 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform langGo crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -214,8 +224,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -238,10 +247,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -84,6 +84,66 @@ let majorVersion = "9";
|
|||||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||||
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
|
||||||
|
|
||||||
|
callFile = lib.callPackageWith {
|
||||||
|
# lets
|
||||||
|
inherit
|
||||||
|
majorVersion
|
||||||
|
version
|
||||||
|
buildPlatform
|
||||||
|
hostPlatform
|
||||||
|
targetPlatform
|
||||||
|
patches
|
||||||
|
crossMingw
|
||||||
|
stageNameAddon
|
||||||
|
crossNameAddon
|
||||||
|
;
|
||||||
|
# inherit generated with 'nix eval --json --impure --expr "with import ./. {}; lib.attrNames (lib.functionArgs gcc9.cc.override)" | jq '.[]' --raw-output'
|
||||||
|
inherit
|
||||||
|
binutils
|
||||||
|
buildPackages
|
||||||
|
cloog
|
||||||
|
crossStageStatic
|
||||||
|
enableLTO
|
||||||
|
enableMultilib
|
||||||
|
enablePlugin
|
||||||
|
enableShared
|
||||||
|
fetchpatch
|
||||||
|
fetchurl
|
||||||
|
gettext
|
||||||
|
gmp
|
||||||
|
gnatboot
|
||||||
|
gnused
|
||||||
|
isl
|
||||||
|
langAda
|
||||||
|
langC
|
||||||
|
langCC
|
||||||
|
langD
|
||||||
|
langFortran
|
||||||
|
langGo
|
||||||
|
langJit
|
||||||
|
langObjC
|
||||||
|
langObjCpp
|
||||||
|
lib
|
||||||
|
libcCross
|
||||||
|
libmpc
|
||||||
|
mpfr
|
||||||
|
name
|
||||||
|
noSysDirs
|
||||||
|
patchelf
|
||||||
|
perl
|
||||||
|
profiledCompiler
|
||||||
|
reproducibleBuild
|
||||||
|
staticCompiler
|
||||||
|
stdenv
|
||||||
|
targetPackages
|
||||||
|
texinfo
|
||||||
|
threadsCross
|
||||||
|
which
|
||||||
|
zip
|
||||||
|
zlib
|
||||||
|
;
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation ({
|
stdenv.mkDerivation ({
|
||||||
@@ -158,69 +218,18 @@ stdenv.mkDerivation ({
|
|||||||
inherit noSysDirs staticCompiler crossStageStatic
|
inherit noSysDirs staticCompiler crossStageStatic
|
||||||
libcCross crossMingw;
|
libcCross crossMingw;
|
||||||
|
|
||||||
inherit (import ../common/dependencies.nix {
|
inherit (callFile ../common/dependencies.nix { })
|
||||||
inherit
|
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
buildPackages
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic
|
|
||||||
threadsCross
|
|
||||||
langAda
|
|
||||||
gnatboot
|
|
||||||
version
|
|
||||||
texinfo
|
|
||||||
which
|
|
||||||
gettext
|
|
||||||
gnused
|
|
||||||
patchelf
|
|
||||||
gmp
|
|
||||||
mpfr
|
|
||||||
libmpc
|
|
||||||
isl
|
|
||||||
zlib
|
|
||||||
zip
|
|
||||||
perl
|
|
||||||
;
|
|
||||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
|
||||||
|
|
||||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
||||||
preConfigure = import ../common/pre-configure.nix {
|
preConfigure = callFile ../common/pre-configure.nix { };
|
||||||
inherit lib;
|
|
||||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
|
||||||
};
|
|
||||||
|
|
||||||
dontDisableStatic = true;
|
dontDisableStatic = true;
|
||||||
|
|
||||||
configurePlatforms = [ "build" "host" "target" ];
|
configurePlatforms = [ "build" "host" "target" ];
|
||||||
|
|
||||||
configureFlags = import ../common/configure-flags.nix {
|
configureFlags = callFile ../common/configure-flags.nix { };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
stdenv
|
|
||||||
targetPackages
|
|
||||||
crossStageStatic libcCross threadsCross
|
|
||||||
version
|
|
||||||
|
|
||||||
binutils gmp mpfr libmpc isl
|
|
||||||
|
|
||||||
enableLTO
|
|
||||||
enableMultilib
|
|
||||||
enablePlugin
|
|
||||||
enableShared
|
|
||||||
|
|
||||||
langC
|
|
||||||
langD
|
|
||||||
langCC
|
|
||||||
langFortran
|
|
||||||
langAda
|
|
||||||
langGo
|
|
||||||
langObjC
|
|
||||||
langObjCpp
|
|
||||||
langJit
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||||
targetPlatformConfig = targetPlatform.config;
|
targetPlatformConfig = targetPlatform.config;
|
||||||
@@ -229,8 +238,7 @@ stdenv.mkDerivation ({
|
|||||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/strip-attributes.nix { })
|
||||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
|
||||||
stripDebugList
|
stripDebugList
|
||||||
stripDebugListTarget
|
stripDebugListTarget
|
||||||
preFixup;
|
preFixup;
|
||||||
@@ -253,10 +261,7 @@ stdenv.mkDerivation ({
|
|||||||
|
|
||||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||||
|
|
||||||
inherit
|
inherit (callFile ../common/extra-target-flags.nix { })
|
||||||
(import ../common/extra-target-flags.nix {
|
|
||||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
|
||||||
})
|
|
||||||
EXTRA_FLAGS_FOR_TARGET
|
EXTRA_FLAGS_FOR_TARGET
|
||||||
EXTRA_LDFLAGS_FOR_TARGET
|
EXTRA_LDFLAGS_FOR_TARGET
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
, langJit
|
, langJit
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert cloog != null -> lib.versionOlder version "5";
|
|
||||||
assert langJava -> lib.versionOlder version "7";
|
assert langJava -> lib.versionOlder version "7";
|
||||||
|
|
||||||
# Note [Windows Exception Handling]
|
# Note [Windows Exception Handling]
|
||||||
@@ -188,7 +187,7 @@ let
|
|||||||
|
|
||||||
# Optional features
|
# Optional features
|
||||||
++ lib.optional (isl != null) "--with-isl=${isl}"
|
++ lib.optional (isl != null) "--with-isl=${isl}"
|
||||||
++ lib.optionals (cloog != null) [
|
++ lib.optionals (lib.versionOlder version "5" && cloog != null) [
|
||||||
"--with-cloog=${cloog}"
|
"--with-cloog=${cloog}"
|
||||||
"--disable-cloog-version-check"
|
"--disable-cloog-version-check"
|
||||||
"--enable-cloog-backend=isl"
|
"--enable-cloog-backend=isl"
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ in
|
|||||||
++ [
|
++ [
|
||||||
targetPackages.stdenv.cc.bintools # For linking code at run-time
|
targetPackages.stdenv.cc.bintools # For linking code at run-time
|
||||||
]
|
]
|
||||||
++ optionals (cloog != null) [ cloog ]
|
++ optionals (lib.versionOlder version "5" && cloog != null) [ cloog ]
|
||||||
++ optionals (isl != null) [ isl ]
|
++ optionals (isl != null) [ isl ]
|
||||||
++ optionals (zlib != null) [ zlib ]
|
++ optionals (zlib != null) [ zlib ]
|
||||||
++ optionals langJava [ boehmgc zip unzip ]
|
++ optionals langJava [ boehmgc zip unzip ]
|
||||||
|
|||||||
Reference in New Issue
Block a user