summaryrefslogtreecommitdiff
path: root/hadrian/src
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-10-28 19:02:16 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2023-01-02 02:52:48 -0500
commit7beb9fff1bee1ccbf7f2258ce527b8d5df2a85ea (patch)
tree2868fd769f2a528e67e6e6fa2760b3dab77d5252 /hadrian/src
parent7b2cf80717a6b16e3f6135c6c6905bd5d3bbde72 (diff)
downloadhaskell-wip/rts-configure-2.tar.gz
rts configure scriptwip/rts-configure-2
Need to use CPP not `if` in rts.buildinfo Bump cabal submodule to include https://github.com/haskell/cabal/pull/8565
Diffstat (limited to 'hadrian/src')
-rw-r--r--hadrian/src/Oracles/Flag.hs16
-rw-r--r--hadrian/src/Oracles/Setting.hs8
-rw-r--r--hadrian/src/Rules/Generate.hs27
-rw-r--r--hadrian/src/Settings/Packages.hs10
4 files changed, 2 insertions, 59 deletions
diff --git a/hadrian/src/Oracles/Flag.hs b/hadrian/src/Oracles/Flag.hs
index 836834cbfc..76a7a6c431 100644
--- a/hadrian/src/Oracles/Flag.hs
+++ b/hadrian/src/Oracles/Flag.hs
@@ -32,14 +32,6 @@ data Flag = ArSupportsAtFile
| BootstrapEventLoggingRts
| UseLibffiForAdjustors
| UseLibdw
- | UseLibnuma
- | UseLibmingwex
- | UseLibm
- | UseLibrt
- | UseLibdl
- | UseLibbfd
- | UseLibpthread
- | NeedLibatomic
-- Note, if a flag is set to empty string we treat it as set to NO. This seems
-- fragile, but some flags do behave like this.
@@ -62,14 +54,6 @@ flag f = do
BootstrapEventLoggingRts -> "bootstrap-event-logging-rts"
UseLibffiForAdjustors -> "use-libffi-for-adjustors"
UseLibdw -> "use-lib-dw"
- UseLibnuma -> "use-lib-numa"
- UseLibmingwex -> "use-lib-mingw-ex"
- UseLibm -> "use-lib-m"
- UseLibrt -> "use-lib-rt"
- UseLibdl -> "use-lib-dl"
- UseLibbfd -> "use-lib-bfd"
- UseLibpthread -> "use-lib-pthread"
- NeedLibatomic -> "need-libatomic"
value <- lookupSystemConfig key
when (value `notElem` ["YES", "NO", ""]) . error $ "Configuration flag "
++ quote (key ++ " = " ++ value) ++ " cannot be parsed."
diff --git a/hadrian/src/Oracles/Setting.hs b/hadrian/src/Oracles/Setting.hs
index e064d7a5c1..aa2eb0f851 100644
--- a/hadrian/src/Oracles/Setting.hs
+++ b/hadrian/src/Oracles/Setting.hs
@@ -56,10 +56,6 @@ data Setting = BuildArch
| HostOsHaskell
| IconvIncludeDir
| IconvLibDir
- | LibdwIncludeDir
- | LibdwLibDir
- | LibnumaIncludeDir
- | LibnumaLibDir
| LlvmTarget
| ProjectGitCommitId
| ProjectName
@@ -158,10 +154,6 @@ setting key = lookupSystemConfig $ case key of
HostOsHaskell -> "host-os-haskell"
IconvIncludeDir -> "iconv-include-dir"
IconvLibDir -> "iconv-lib-dir"
- LibdwIncludeDir -> "libdw-include-dir"
- LibdwLibDir -> "libdw-lib-dir"
- LibnumaIncludeDir -> "libnuma-include-dir"
- LibnumaLibDir -> "libnuma-lib-dir"
LlvmTarget -> "llvm-target"
ProjectGitCommitId -> "project-git-commit-id"
ProjectName -> "project-name"
diff --git a/hadrian/src/Rules/Generate.hs b/hadrian/src/Rules/Generate.hs
index b156c9dfdf..6eb0edde75 100644
--- a/hadrian/src/Rules/Generate.hs
+++ b/hadrian/src/Rules/Generate.hs
@@ -264,38 +264,12 @@ templateRules = do
project_version <- setting ProjectVersion
project_version_munged <- setting ProjectVersionMunged
- target_word_size <- settingWord TargetWordSize
- lib_dw <- flag UseLibdw
- lib_numa <- flag UseLibnuma
- lib_mingwex <- flag UseLibmingwex
- lib_m <- flag UseLibm
- lib_rt <- flag UseLibrt
- lib_dl <- flag UseLibdl
- lib_ffi <- flag UseSystemFfi
- lib_ffi_adjustors <- flag UseLibffiForAdjustors
- lib_bfd <- flag UseLibbfd
- lib_pthread <- flag UseLibpthread
- leading_underscore <- flag LeadingUnderscore
- need_libatomic <- flag NeedLibatomic
let cabal_bool True = "True"
cabal_bool False = "False"
subst = replace "@ProjectVersion@" project_version
. replace "@ProjectVersionMunged@" project_version_munged
- . replace "@Cabal64bit@" (cabal_bool (target_word_size == 8))
- . replace "@CabalMingwex@" (cabal_bool lib_mingwex)
- . replace "@CabalHaveLibdw@" (cabal_bool lib_dw)
- . replace "@CabalHaveLibm@" (cabal_bool lib_m)
- . replace "@CabalHaveLibrt@" (cabal_bool lib_rt)
- . replace "@CabalHaveLibdl@" (cabal_bool lib_dl)
- . replace "@CabalUseSystemLibFFI@" (cabal_bool lib_ffi)
- . replace "@CabalLibffiAdjustors@" (cabal_bool lib_ffi_adjustors)
- . replace "@CabalNeedLibpthread@" (cabal_bool lib_pthread)
- . replace "@CabalHaveLibbfd@" (cabal_bool lib_bfd)
- . replace "@CabalHaveLibNuma@" (cabal_bool lib_numa)
- . replace "@CabalLeadingUnderscore@" (cabal_bool leading_underscore)
- . replace "@CabalNeedLibatomic@" (cabal_bool need_libatomic)
s <- readFile' (out <.> "in")
writeFile' out (subst s)
@@ -415,7 +389,6 @@ generateSettings = do
, ("target has .ident directive", expr $ lookupSystemConfig "target-has-ident-directive")
, ("target has subsections via symbols", expr $ lookupSystemConfig "target-has-subsections-via-symbols")
, ("target has RTS linker", expr $ lookupSystemConfig "target-has-rts-linker")
- , ("target has libm", expr $ lookupSystemConfig "target-has-libm")
, ("Unregisterised", expr $ yesNo <$> flag GhcUnregisterised)
, ("LLVM target", getSetting LlvmTarget)
, ("LLVM llc command", expr $ settingsFileSetting SettingsFileSetting_LlcCommand)
diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs
index 128262a0ab..7268a7a041 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -283,10 +283,6 @@ rtsPackageArgs = package rts ? do
useSystemFfi <- expr $ flag UseSystemFfi
ffiIncludeDir <- getSetting FfiIncludeDir
ffiLibraryDir <- getSetting FfiLibDir
- libdwIncludeDir <- getSetting LibdwIncludeDir
- libdwLibraryDir <- getSetting LibdwLibDir
- libnumaIncludeDir <- getSetting LibnumaIncludeDir
- libnumaLibraryDir <- getSetting LibnumaLibDir
-- Arguments passed to GHC when compiling C and .cmm sources.
let ghcArgs = mconcat
@@ -391,9 +387,7 @@ rtsPackageArgs = package rts ? do
, Debug `wayUnit` way `cabalFlag` "find-ptr"
]
, builder (Cabal Setup) ? mconcat
- [ cabalExtraDirs libdwIncludeDir libdwLibraryDir
- , cabalExtraDirs libnumaIncludeDir libnumaLibraryDir
- , useSystemFfi ? cabalExtraDirs ffiIncludeDir ffiLibraryDir
+ [ useSystemFfi ? cabalExtraDirs ffiIncludeDir ffiLibraryDir
]
, builder (Cc (FindCDependencies CDep)) ? cArgs
, builder (Cc (FindCDependencies CxxDep)) ? cArgs
@@ -405,7 +399,7 @@ rtsPackageArgs = package rts ? do
[ "-DTOP=" ++ show top ]
, builder HsCpp ? flag UseLibdw ? arg "-DUSE_LIBDW"
- , builder HsCpp ? flag UseLibmingwex ? arg "-DHAVE_LIBMINGWEX" ]
+ ]
-- Compile various performance-critical pieces *without* -fPIC -dynamic
-- even when building a shared library. If we don't do this, then the