diff options
-rw-r--r-- | hadrian/src/Oracles/Setting.hs | 2 | ||||
-rw-r--r-- | hadrian/src/Rules/Library.hs | 4 | ||||
-rw-r--r-- | hadrian/src/Settings/Packages.hs | 1 | ||||
m--------- | libraries/Cabal | 0 | ||||
-rw-r--r-- | rts/rts.cabal.in | 10 |
5 files changed, 13 insertions, 4 deletions
diff --git a/hadrian/src/Oracles/Setting.hs b/hadrian/src/Oracles/Setting.hs index 1cdcddf186..5197b8ea54 100644 --- a/hadrian/src/Oracles/Setting.hs +++ b/hadrian/src/Oracles/Setting.hs @@ -218,4 +218,4 @@ libsuf way extension <- setting DynamicExtension -- e.g., .dll or .so version <- setting ProjectVersion -- e.g., 7.11.20141222 let suffix = waySuffix (removeWayUnit Dynamic way) - return ("-ghc" ++ version ++ suffix ++ extension) + return (suffix ++ "-ghc" ++ version ++ extension) diff --git a/hadrian/src/Rules/Library.hs b/hadrian/src/Rules/Library.hs index b53bcc8a8c..334d687c9d 100644 --- a/hadrian/src/Rules/Library.hs +++ b/hadrian/src/Rules/Library.hs @@ -134,7 +134,7 @@ data LibA = LibA String [Integer] Way deriving (Eq, Show) -- | > <so or dylib> data DynLibExt = So | Dylib deriving (Eq, Show) --- | > libHS<pkg name>-<pkg version>-ghc<ghc version>[_<way suffix>].<so or dylib> +-- | > libHS<pkg name>-<pkg version>[_<way suffix>]-ghc<ghc version>.<so|dylib> data LibDyn = LibDyn String [Integer] Way DynLibExt deriving (Eq, Show) -- | > HS<pkg name>-<pkg version>[_<way suffix>].o @@ -231,8 +231,8 @@ parseLibDynFilename :: String -> Parsec.Parsec String () LibDyn parseLibDynFilename ext = do _ <- Parsec.string "libHS" (pkgname, pkgver) <- parsePkgId - _ <- optional $ Parsec.string "-ghc" *> parsePkgVersion way <- addWayUnit Dynamic <$> parseWaySuffix dynamic + _ <- optional $ Parsec.string "-ghc" *> parsePkgVersion _ <- Parsec.string ("." ++ ext) return (LibDyn pkgname pkgver way $ if ext == "so" then So else Dylib) diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs index 4d75e325d4..51a980ca8b 100644 --- a/hadrian/src/Settings/Packages.hs +++ b/hadrian/src/Settings/Packages.hs @@ -285,6 +285,7 @@ rtsPackageArgs = package rts ? do [ any (wayUnit Profiling) rtsWays ? arg "profiling" , any (wayUnit Debug) rtsWays ? arg "debug" , any (wayUnit Logging) rtsWays ? arg "logging" + , any (wayUnit Dynamic) rtsWays ? arg "dynamic" ] , builder (Cc FindCDependencies) ? cArgs , builder (Ghc CompileCWithGhc) ? map ("-optc" ++) <$> cArgs diff --git a/libraries/Cabal b/libraries/Cabal -Subproject 3da088e281f5cbc8a731e18ceb698cfea2e4500 +Subproject 064d9e9082c825f538655db1868108c48240377 diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index a20aa57186..e9cc7d1b6f 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -1,4 +1,4 @@ -cabal-version: 2.1 +cabal-version: 2.5 name: rts version: 1.0 license: BSD-3-Clause @@ -39,6 +39,8 @@ flag debug default: False flag logging default: False +flag dynamic + default: False library -- rts is a wired in package and @@ -65,8 +67,14 @@ library extra-library-flavours: _debug_p _thr_debug_p if flag(debug) extra-library-flavours: _debug _thr_debug + if flag(dynamic) + extra-dynamic-library-flavours: _debug _thr_debug if flag(logging) extra-library-flavours: _l _thr_l + if flag(dynamic) + extra-dynamic-library-flavours: _l _thr_l + if flag(dynamic) + extra-dynamic-library-flavours: _thr exposed: True exposed-modules: |