summaryrefslogtreecommitdiff
path: root/compiler/main/SysTools.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/main/SysTools.hs')
-rw-r--r--compiler/main/SysTools.hs10
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs
index d987d7dcd0..a63ae25195 100644
--- a/compiler/main/SysTools.hs
+++ b/compiler/main/SysTools.hs
@@ -8,7 +8,7 @@
-----------------------------------------------------------------------------
-}
-{-# LANGUAGE CPP, MultiWayIf, ScopedTypeVariables #-}
+{-# LANGUAGE CPP, MultiWayIf, ScopedTypeVariables, LambdaCase #-}
module SysTools (
-- * Initialisation
@@ -266,8 +266,13 @@ initSysTools mbMinusB
lcc_prog <- getSetting "LLVM clang command"
let iserv_prog = libexec "ghc-iserv"
+ integer_library <- getSetting "integer library" >>= \case
+ "gmp" -> pure IntegerGMP
+ "simple" -> pure IntegerSimple
+ x -> error $ "Unknown integer-library: " ++ x
let platform = Platform {
+ platformIntegerLibrary = integer_library,
platformArch = targetArch,
platformOS = targetOS,
platformWordSize = targetWordSize,
@@ -275,7 +280,8 @@ initSysTools mbMinusB
platformHasGnuNonexecStack = targetHasGnuNonexecStack,
platformHasIdentDirective = targetHasIdentDirective,
platformHasSubsectionsViaSymbols = targetHasSubsectionsViaSymbols,
- platformIsCrossCompiling = crossCompiling
+ platformIsCrossCompiling = crossCompiling,
+ platformString = ""
}
return $ Settings {