diff --git a/ghc-api-compat.cabal b/ghc-api-compat.cabal index f24cd2abd1a3b52fc72cda966c746aa02b03a3e1..be92e24e17eb13a55ab19169593605fc1bcd6c19 100644 --- a/ghc-api-compat.cabal +++ b/ghc-api-compat.cabal @@ -120,7 +120,9 @@ library if impl(ghc >= 9.0) hs-source-dirs: src - exposed-modules: Outputable + exposed-modules: Outputable DynFlags + build-depends: + containers >= 0.6.0 && <= 0.6.5 reexported-modules: GHC.Rename.Bind as RnBinds , GHC.Rename.Env as RnEnv @@ -347,7 +349,7 @@ library , GHC.Driver.Main as HscMain , GHC.Driver.Make as GhcMake , GHC.Driver.Hooks as Hooks - , GHC.Driver.Session as DynFlags + -- , GHC.Driver.Session as DynFlags , GHC.Driver.Phases as DriverPhases , GHC.Driver.Pipeline as DriverPipeline , GHC.Driver.Pipeline.Monad as PipelineMonad diff --git a/src/DynFlags.hs b/src/DynFlags.hs new file mode 100644 index 0000000000000000000000000000000000000000..cadb25b4c5f0594844f80d52fde1fe77a47556b5 --- /dev/null +++ b/src/DynFlags.hs @@ -0,0 +1,30 @@ +{-# LANGUAGE CPP #-} +module DynFlags + ( module GHC.Driver.Session, + Way(..), + wayRTSOnly, + wayGeneralFlags, + wayUnsetGeneralFlags, + buildTag, + dynamicGhc, + hostFullWays, + interpWays, + ) +where + +import Data.Set (Set) +import GHC.Driver.Session +#if MIN_VERSION_GLASGOW_HASKELL(9,2,0,0) +import GHC.Platform.Ways +#else +import GHC.Driver.Ways +#endif + +buildTag :: DynFlags -> String +buildTag = waysBuildTag . ways + +dynamicGhc :: Bool +dynamicGhc = hostIsDynamic + +interpWays :: Set Way +interpWays = hostFullWays