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:
parent
d4e299de09
commit
e277984d0b
@ -24,7 +24,7 @@
|
||||
, threadsCross ? null # for MinGW
|
||||
, crossStageStatic ? false
|
||||
, 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
|
||||
, libxcrypt
|
||||
}:
|
||||
@ -83,6 +83,67 @@ let majorVersion = "10";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -158,39 +219,12 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = (import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
||||
}) + ''
|
||||
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||
'';
|
||||
|
||||
@ -198,32 +232,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -232,8 +241,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -256,10 +264,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -89,6 +89,67 @@ let majorVersion = "11";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -164,39 +225,12 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = (import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
||||
}) + ''
|
||||
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||
'';
|
||||
|
||||
@ -204,32 +238,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -238,8 +247,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -262,10 +270,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -123,6 +123,67 @@ let majorVersion = "12";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -198,42 +259,12 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { }) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
|
||||
preConfigure = (import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
||||
}) + ''
|
||||
preConfigure = (callFile ../common/pre-configure.nix { }) + ''
|
||||
ln -sf ${libxcrypt}/include/crypt.h libsanitizer/sanitizer_common/crypt.h
|
||||
'';
|
||||
|
||||
@ -241,32 +272,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -275,8 +281,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -299,10 +304,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -111,6 +111,82 @@ let majorVersion = "4";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
# We need all these X libraries when building AWT with GTK.
|
||||
@ -158,74 +234,16 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform langJava langGo crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -234,8 +252,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -273,10 +290,7 @@ stdenv.mkDerivation ({
|
||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||
));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -127,6 +127,82 @@ let majorVersion = "4";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
# We need all these X libraries when building AWT with GTK.
|
||||
@ -178,74 +254,16 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform langJava langGo crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -254,8 +272,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -293,10 +310,7 @@ stdenv.mkDerivation ({
|
||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||
));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -31,7 +31,7 @@
|
||||
, threadsCross ? null # for MinGW
|
||||
, crossStageStatic ? false
|
||||
, 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
|
||||
}:
|
||||
|
||||
@ -115,6 +115,86 @@ let majorVersion = "6";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
# We need all these X libraries when building AWT with GTK.
|
||||
@ -193,78 +273,18 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler langJava crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langJava langAda langGo crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -273,8 +293,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -312,10 +331,7 @@ stdenv.mkDerivation ({
|
||||
++ optionals javaAwtGtk [ gmp mpfr ]
|
||||
));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -21,7 +21,7 @@
|
||||
, threadsCross ? null # for MinGW
|
||||
, crossStageStatic ? false
|
||||
, 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
|
||||
}:
|
||||
|
||||
@ -91,6 +91,63 @@ let majorVersion = "7";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -165,66 +222,20 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
lib
|
||||
stdenv
|
||||
buildPackages
|
||||
targetPackages
|
||||
crossStageStatic
|
||||
threadsCross
|
||||
version
|
||||
texinfo
|
||||
which
|
||||
gettext
|
||||
gnused
|
||||
patchelf
|
||||
gmp
|
||||
mpfr
|
||||
libmpc
|
||||
isl
|
||||
zlib
|
||||
zip
|
||||
perl
|
||||
;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.cc.isClang && langFortran) "-Wno-unused-command-line-argument";
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform langGo crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
} ++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
|
||||
configureFlags = (callFile ../common/configure-flags.nix { })
|
||||
++ optional (targetPlatform.isAarch64) "--enable-fix-cortex-a53-843419"
|
||||
++ optional targetPlatform.isNetBSD "--disable-libcilkrts"
|
||||
;
|
||||
|
||||
@ -235,8 +246,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -261,10 +271,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -21,7 +21,7 @@
|
||||
, threadsCross ? null # for MinGW
|
||||
, crossStageStatic ? false
|
||||
, 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
|
||||
}:
|
||||
|
||||
@ -73,6 +73,63 @@ let majorVersion = "8";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -147,65 +204,18 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
lib
|
||||
stdenv
|
||||
buildPackages
|
||||
targetPackages
|
||||
crossStageStatic
|
||||
threadsCross
|
||||
version
|
||||
texinfo
|
||||
which
|
||||
gettext
|
||||
gnused
|
||||
patchelf
|
||||
gmp
|
||||
mpfr
|
||||
libmpc
|
||||
isl
|
||||
zlib
|
||||
zip
|
||||
perl
|
||||
;
|
||||
}) depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform langGo crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -214,8 +224,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -238,10 +247,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -84,6 +84,66 @@ let majorVersion = "9";
|
||||
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
|
||||
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
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
@ -158,69 +218,18 @@ stdenv.mkDerivation ({
|
||||
inherit noSysDirs staticCompiler crossStageStatic
|
||||
libcCross crossMingw;
|
||||
|
||||
inherit (import ../common/dependencies.nix {
|
||||
inherit
|
||||
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;
|
||||
inherit (callFile ../common/dependencies.nix { })
|
||||
depsBuildBuild nativeBuildInputs depsBuildTarget buildInputs depsTargetTarget;
|
||||
|
||||
NIX_LDFLAGS = lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||
|
||||
preConfigure = import ../common/pre-configure.nix {
|
||||
inherit lib;
|
||||
inherit version targetPlatform hostPlatform buildPlatform gnatboot langAda langGo langJit crossStageStatic enableMultilib;
|
||||
};
|
||||
preConfigure = callFile ../common/pre-configure.nix { };
|
||||
|
||||
dontDisableStatic = true;
|
||||
|
||||
configurePlatforms = [ "build" "host" "target" ];
|
||||
|
||||
configureFlags = import ../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
|
||||
;
|
||||
};
|
||||
configureFlags = callFile ../common/configure-flags.nix { };
|
||||
|
||||
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
|
||||
targetPlatformConfig = targetPlatform.config;
|
||||
@ -229,8 +238,7 @@ stdenv.mkDerivation ({
|
||||
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
|
||||
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
|
||||
|
||||
inherit
|
||||
(import ../common/strip-attributes.nix { inherit lib stdenv langJit; })
|
||||
inherit (callFile ../common/strip-attributes.nix { })
|
||||
stripDebugList
|
||||
stripDebugListTarget
|
||||
preFixup;
|
||||
@ -253,10 +261,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
|
||||
|
||||
inherit
|
||||
(import ../common/extra-target-flags.nix {
|
||||
inherit lib stdenv crossStageStatic langD libcCross threadsCross;
|
||||
})
|
||||
inherit (callFile ../common/extra-target-flags.nix { })
|
||||
EXTRA_FLAGS_FOR_TARGET
|
||||
EXTRA_LDFLAGS_FOR_TARGET
|
||||
;
|
||||
|
@ -25,7 +25,6 @@
|
||||
, langJit
|
||||
}:
|
||||
|
||||
assert cloog != null -> lib.versionOlder version "5";
|
||||
assert langJava -> lib.versionOlder version "7";
|
||||
|
||||
# Note [Windows Exception Handling]
|
||||
@ -188,7 +187,7 @@ let
|
||||
|
||||
# Optional features
|
||||
++ lib.optional (isl != null) "--with-isl=${isl}"
|
||||
++ lib.optionals (cloog != null) [
|
||||
++ lib.optionals (lib.versionOlder version "5" && cloog != null) [
|
||||
"--with-cloog=${cloog}"
|
||||
"--disable-cloog-version-check"
|
||||
"--enable-cloog-backend=isl"
|
||||
|
@ -79,7 +79,7 @@ in
|
||||
++ [
|
||||
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 (zlib != null) [ zlib ]
|
||||
++ optionals langJava [ boehmgc zip unzip ]
|
||||
|
Loading…
Reference in New Issue
Block a user