diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-20 02:16:07 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-05-23 10:27:42 -0400 |
commit | 1978115c3b2dfcb33f78673677a0ef3ffa6a0565 (patch) | |
tree | 4fae691389c9bb52c076ddc57c0413d3e07df16b | |
parent | 9ce15ea60c8a93753d20a06d7f3dae6c867f7d10 (diff) | |
download | nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar.gz nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar.bz2 nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar.lz nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar.xz nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.tar.zst nixlib-1978115c3b2dfcb33f78673677a0ef3ffa6a0565.zip |
ghc: Handle flavors better
-rw-r--r-- | pkgs/development/compilers/ghc/7.10.3.nix | 9 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.0.2.nix | 9 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.2.2.nix | 8 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.4.2.nix | 8 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 8 |
5 files changed, 37 insertions, 5 deletions
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 150d14e1db46..7d2f37916323 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -24,6 +24,10 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. enableShared ? true + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -42,11 +46,14 @@ let }; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index c3c7690b09f9..2e627473fc21 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -23,6 +23,10 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. enableShared ? true + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -36,11 +40,14 @@ let "${targetPlatform.config}-"; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 2b876552a014..beaf761bd426 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -25,6 +25,9 @@ # platform). Static libs are always built. enableShared ? true +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" , # Whether to backport https://phabricator.haskell.org/D4388 for # deterministic profiling symbol names, at the cost of a slightly # non-standard GHC API @@ -42,11 +45,14 @@ let "${targetPlatform.config}-"; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO diff --git a/pkgs/development/compilers/ghc/8.4.2.nix b/pkgs/development/compilers/ghc/8.4.2.nix index 6cb6930f3aa5..449edef662d9 100644 --- a/pkgs/development/compilers/ghc/8.4.2.nix +++ b/pkgs/development/compilers/ghc/8.4.2.nix @@ -24,6 +24,9 @@ # platform). Static libs are always built. enableShared ? !targetPlatform.useAndroidPrebuilt +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -37,11 +40,14 @@ let "${targetPlatform.config}-"; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index e0de4e7e60e6..f5a7be5156d7 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -25,6 +25,9 @@ enableShared ? !targetPlatform.useAndroidPrebuilt , version ? "8.5.20180118" +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" }: assert !enableIntegerSimple -> gmp != null; @@ -38,11 +41,14 @@ let "${targetPlatform.config}-"; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO |