summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Packages.hs
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-10-22 13:26:28 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-10-29 03:48:20 -0400
commit6a0902702d64ce683c81c04069f46f6e1078a094 (patch)
treefe3b669b038f570b67b3bd450d37cb3da9b9634e /hadrian/src/Settings/Packages.hs
parent8e5de15da1ded1909e10483c7ae3ba1ae3e87b17 (diff)
downloadhaskell-6a0902702d64ce683c81c04069f46f6e1078a094.tar.gz
hadrian: Define NOSMP when building rts unregisterised
It seems that NOSMP was previously only defined when compiling the compiler, not the RTS. Fix this. In addition do some spring-cleaning and make the logic match that of the Make build system.
Diffstat (limited to 'hadrian/src/Settings/Packages.hs')
-rw-r--r--hadrian/src/Settings/Packages.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs
index 349c6518fb..014b1283c3 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -61,8 +61,8 @@ packageArgs = do
[ arg "--disable-library-for-ghci"
, anyTargetOs ["openbsd"] ? arg "--ld-options=-E"
, flag GhcUnregisterised ? arg "--ghc-option=-DNO_REGS"
- , notM ghcWithSMP ? arg "--ghc-option=-DNOSMP"
- , notM ghcWithSMP ? arg "--ghc-option=-optc-DNOSMP"
+ , notM targetSupportsSMP ? arg "--ghc-option=-DNOSMP"
+ , notM targetSupportsSMP ? arg "--ghc-option=-optc-DNOSMP"
, (any (wayUnit Threaded) rtsWays) ?
notStage0 ? arg "--ghc-option=-optc-DTHREADED_RTS"
, ghcWithInterpreter ?
@@ -231,6 +231,8 @@ rtsPackageArgs = package rts ? do
, inputs ["**/RtsMessages.c", "**/Trace.c"] ?
arg ("-DProjectVersion=" ++ show projectVersion)
+ , notM targetSupportsSMP ? arg "-DNOSMP"
+
, input "**/RtsUtils.c" ? pure
[ "-DProjectVersion=" ++ show projectVersion
, "-DHostPlatform=" ++ show hostPlatform