diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-02-11 09:38:18 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-06-17 16:22:04 -0400 |
commit | dceecb093c3ee1e4dc970bb6669ff855ec37f6ac (patch) | |
tree | 74158d954b52c6c5cf0fbc294d79873a066e79cb /hadrian/src/Settings.hs | |
parent | f817d816e60a487bca64037095c01e9956225b64 (diff) | |
download | haskell-dceecb093c3ee1e4dc970bb6669ff855ec37f6ac.tar.gz |
Update Hadrian
* support ghc-bignum backend selection in flavours and command-line
* support ghc-bignum "--check" flag (compare results of selected backend
against results of the native one) in flavours and command-line (e.g.
pass --bignum=check-gmp" to check the "gmp" backend)
* remove the hack to workaround #15286
* build GMP only when the gmp backend is used
* remove hacks to workaround `text` package flags about integer-*. We
fix `text` to use ghc-bignum unconditionally in another patch
Diffstat (limited to 'hadrian/src/Settings.hs')
-rwxr-xr-x | hadrian/src/Settings.hs | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/hadrian/src/Settings.hs b/hadrian/src/Settings.hs index 7c6a24af27..373e976b44 100755 --- a/hadrian/src/Settings.hs +++ b/hadrian/src/Settings.hs @@ -1,7 +1,7 @@ module Settings ( getArgs, getLibraryWays, getRtsWays, flavour, knownPackages, findPackageByName, unsafeFindPackageByName, unsafeFindPackageByPath, - isLibrary, stagePackages, getIntegerPackage, completeSetting + isLibrary, stagePackages, getBignumBackend, getBignumCheck, completeSetting ) where import CommandLine @@ -35,6 +35,16 @@ getLibraryWays = expr flavour >>= libraryWays getRtsWays :: Ways getRtsWays = expr flavour >>= rtsWays +getBignumBackend :: Expr String +getBignumBackend = expr $ cmdBignum >>= \case + Nothing -> bignumBackend <$> flavour + Just b -> pure b + +getBignumCheck :: Expr Bool +getBignumCheck = expr $ cmdBignum >>= \case + Nothing -> bignumCheck <$> flavour + Just _ -> cmdBignumCheck + stagePackages :: Stage -> Action [Package] stagePackages stage = do f <- flavour @@ -67,9 +77,6 @@ flavour = do [f] -> tweak f _ -> error $ "Multiple build flavours named " ++ flavourName -getIntegerPackage :: Expr Package -getIntegerPackage = expr (integerLibrary =<< flavour) - -- TODO: switch to Set Package as the order of packages should not matter? -- Otherwise we have to keep remembering to sort packages from time to time. knownPackages :: [Package] |