diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-10-28 19:02:16 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2023-01-02 02:52:48 -0500 |
commit | 7beb9fff1bee1ccbf7f2258ce527b8d5df2a85ea (patch) | |
tree | 2868fd769f2a528e67e6e6fa2760b3dab77d5252 /hadrian/src | |
parent | 7b2cf80717a6b16e3f6135c6c6905bd5d3bbde72 (diff) | |
download | haskell-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.hs | 16 | ||||
-rw-r--r-- | hadrian/src/Oracles/Setting.hs | 8 | ||||
-rw-r--r-- | hadrian/src/Rules/Generate.hs | 27 | ||||
-rw-r--r-- | hadrian/src/Settings/Packages.hs | 10 |
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 |