Distribution.Simple.Program.GHC

Cabal-2.2.0.1: A framework for packaging Haskell software

Safe Haskell | None
Language | Haskell2010

Distribution.Simple.Program.GHC

Synopsis

- data GhcOptions = GhcOptions {
  - ghcOptMode :: Flag GhcMode
  - ghcOptExtra :: NubListR String
  - ghcOptExtraDefault :: NubListR String
  - ghcOptInputFiles :: NubListR FilePath
  - ghcOptInputModules :: NubListR ModuleName
  - ghcOptOutputFile :: Flag FilePath
  - ghcOptOutputDynFile :: Flag FilePath
  - ghcOptSourcePathClear :: Flag Bool
  - ghcOptSourcePath :: NubListR FilePath
  - ghcOptThisUnitId :: Flag String
  - ghcOptThisComponentId :: Flag ComponentId
  - ghcOptInstantiatedWith :: [(ModuleName, OpenModule)]
  - ghcOptNoCode :: Flag Bool
  - ghcOptPackageDBs :: PackageDBStack
  - ghcOptPackages :: NubListR (OpenUnitId, ModuleRenaming)
  - ghcOptHideAllPackages :: Flag Bool
  - ghcOptWarnMissingHomeModules :: Flag Bool
  - ghcOptNoAutoLinkPackages :: Flag Bool
  - ghcOptLinkLibs :: NubListR FilePath
  - ghcOptLinkLibPath :: NubListR FilePath
  - ghcOptLinkOptions :: NubListR String
  - ghcOptLinkFrameworks :: NubListR String
  - ghcOptLinkFrameworkDirs :: NubListR String
  - ghcOptNoLink :: Flag Bool
  - ghcOptLinkNoHsMain :: Flag Bool
  - ghcOptLinkModDefFiles :: NubListR FilePath
  - ghcOptCcOptions :: NubListR String
  - ghcOptCxxOptions :: NubListR String
  - ghcOptCppOptions :: NubListR String
  - ghcOptCppIncludePath :: NubListR FilePath
  - ghcOptCppIncludes :: NubListR FilePath
  - ghcOptFfiIncludes :: NubListR FilePath
  - ghcOptLanguage :: Flag Language
  - ghcOptExtensions :: NubListR Extension
  - ghcOptExtensionMap :: Map Extension (Maybe Flag)
  - ghcOptOptimisation :: Flag GhcOptimisation
  - ghcOptDebugInfo :: Flag DebugInfoLevel
  - ghcOptProfilingMode :: Flag Bool
  - ghcOptProfilingAuto :: Flag GhcProfAuto
  - ghcOptSplitSections :: Flag Bool
  - ghcOptSplitObjs :: Flag Bool
  - ghcOptNumJobs :: Flag (Maybe Int)
  - ghcOptHPCDir :: Flag FilePath
  - ghcOptGHCiScripts :: NubListR FilePath
  - ghcOptHiSuffix :: Flag String
  - ghcOptObjSuffix :: Flag String
  - ghcOptDynHiSuffix :: Flag String
  - ghcOptDynObjSuffix :: Flag String
  - ghcOptHiDir :: Flag FilePath
  - ghcOptObjDir :: Flag FilePath
  - ghcOptOutputDir :: Flag FilePath
  - ghcOptStubDir :: Flag FilePath
  - ghcOptDynLinkMode :: Flag GhcDynLinkMode
  - ghcOptStaticLib :: Flag Bool
  - ghcOptShared :: Flag Bool
  - ghcOptFPic :: Flag Bool
  - ghcOptDylibName :: Flag String
  - ghcOptRPaths :: NubListR FilePath
  - ghcOptVerbosity :: Flag Verbosity
  - ghcOptExtraPath :: NubListR FilePath
  - ghcOptCabal :: Flag Bool
  }
- data GhcMode
  - = GhcModeCompile
  - | GhcModeLink
  - | GhcModeMake
  - | GhcModeInteractive
  - | GhcModeAbiHash
- data GhcOptimisation
  - = GhcNoOptimisation
  - | GhcNormalOptimisation
  - | GhcMaximumOptimisation
  - | GhcSpecialOptimisation String
- data GhcDynLinkMode
  - = GhcStaticOnly
  - | GhcDynamicOnly
  - | GhcStaticAndDynamic
- data GhcProfAuto
  - = GhcProfAutoAll
  - | GhcProfAutoToplevel
  - | GhcProfAutoExported
- ghcInvocation :: ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> ProgramInvocation
- renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String]
- runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO ()
- packageDbArgsDb :: PackageDBStack -> [String]

# Documentation

data GhcOptions #

A structured set of GHC options/flags

Constructors

GhcOptions |
Fields ghcOptMode :: Flag GhcMode The major mode for the ghc invocation. ghcOptExtra :: NubListR String Any extra options to pass directly to ghc. These go at the end and hence override other stuff. ghcOptExtraDefault :: NubListR String Extra default flags to pass directly to ghc. These go at the beginning and so can be overridden by other stuff. ghcOptInputFiles :: NubListR FilePath The main input files; could be .hs, .hi, .c, .o, depending on mode. ghcOptInputModules :: NubListR ModuleName The names of input Haskell modules, mainly for `--make` mode. ghcOptOutputFile :: Flag FilePath Location for output file; the `ghc -o` flag. ghcOptOutputDynFile :: Flag FilePath Location for dynamic output file in `GhcStaticAndDynamic` mode; the `ghc -dyno` flag. ghcOptSourcePathClear :: Flag Bool Start with an empty search path for Haskell source files; the `ghc -i` flag (`-i` on its own with no path argument). ghcOptSourcePath :: NubListR FilePath Search path for Haskell source files; the `ghc -i` flag. ghcOptThisUnitId :: Flag String The unit ID the modules will belong to; the `ghc -this-unit-id` flag (or `-this-package-key` or `-package-name` on older versions of GHC). This is a `String` because we assume you've already figured out what the correct format for this string is (we need to handle backwards compatibility.) ghcOptThisComponentId :: Flag ComponentId GHC doesn't make any assumptions about the format of definite unit ids, so when we are instantiating a package it needs to be told explicitly what the component being instantiated is. This only gets set when `ghcOptInstantiatedWith` is non-empty ghcOptInstantiatedWith :: [(ModuleName, OpenModule)] How the requirements of the package being compiled are to be filled. When typechecking an indefinite package, the `OpenModule` is always a `OpenModuleVar`; otherwise, it specifies the installed module that instantiates a package. ghcOptNoCode :: Flag Bool No code? (But we turn on interface writing ghcOptPackageDBs :: PackageDBStack GHC package databases to use, the `ghc -package-conf` flag. ghcOptPackages :: NubListR (OpenUnitId, ModuleRenaming) The GHC packages to bring into scope when compiling, the `ghc -package-id` flags. ghcOptHideAllPackages :: Flag Bool Start with a clean package set; the `ghc -hide-all-packages` flag ghcOptWarnMissingHomeModules :: Flag Bool Warn about modules, not listed in command line ghcOptNoAutoLinkPackages :: Flag Bool Don't automatically link in Haskell98 etc; the `ghc -no-auto-link-packages` flag. ghcOptLinkLibs :: NubListR FilePath Names of libraries to link in; the `ghc -l` flag. ghcOptLinkLibPath :: NubListR FilePath Search path for libraries to link in; the `ghc -L` flag. ghcOptLinkOptions :: NubListR String Options to pass through to the linker; the `ghc -optl` flag. ghcOptLinkFrameworks :: NubListR String OSX only: frameworks to link in; the `ghc -framework` flag. ghcOptLinkFrameworkDirs :: NubListR String OSX only: Search path for frameworks to link in; the `ghc -framework-path` flag. ghcOptNoLink :: Flag Bool Don't do the link step, useful in make mode; the `ghc -no-link` flag. ghcOptLinkNoHsMain :: Flag Bool Don't link in the normal RTS `main` entry point; the `ghc -no-hs-main` flag. ghcOptLinkModDefFiles :: NubListR FilePath Module definition files (Windows specific) ghcOptCcOptions :: NubListR String Options to pass through to the C compiler; the `ghc -optc` flag. ghcOptCxxOptions :: NubListR String Options to pass through to the C++ compiler. ghcOptCppOptions :: NubListR String Options to pass through to CPP; the `ghc -optP` flag. ghcOptCppIncludePath :: NubListR FilePath Search path for CPP includes like header files; the `ghc -I` flag. ghcOptCppIncludes :: NubListR FilePath Extra header files to include at CPP stage; the `ghc -optP-include` flag. ghcOptFfiIncludes :: NubListR FilePath Extra header files to include for old-style FFI; the `ghc -#include` flag. ghcOptLanguage :: Flag Language The base language; the `ghc -XHaskell98` or `-XHaskell2010` flag. ghcOptExtensions :: NubListR Extension The language extensions; the `ghc -X` flag. ghcOptExtensionMap :: Map Extension (Maybe Flag) A GHC version-dependent mapping of extensions to flags. This must be set to be able to make use of the `ghcOptExtensions`. ghcOptOptimisation :: Flag GhcOptimisation What optimisation level to use; the `ghc -O` flag. ghcOptDebugInfo :: Flag DebugInfoLevel Emit debug info; the `ghc -g` flag. ghcOptProfilingMode :: Flag Bool Compile in profiling mode; the `ghc -prof` flag. ghcOptProfilingAuto :: Flag GhcProfAuto Automatically add profiling cost centers; the `ghc -fprof-auto*` flags. ghcOptSplitSections :: Flag Bool Use the "split sections" feature; the `ghc -split-sections` flag. ghcOptSplitObjs :: Flag Bool Use the "split object files" feature; the `ghc -split-objs` flag. ghcOptNumJobs :: Flag (Maybe Int) Run N jobs simultaneously (if possible). ghcOptHPCDir :: Flag FilePath Enable coverage analysis; the `ghc -fhpc -hpcdir` flags. ghcOptGHCiScripts :: NubListR FilePath Extra GHCi startup scripts; the `-ghci-script` flag ghcOptHiSuffix :: Flag String ghcOptObjSuffix :: Flag String ghcOptDynHiSuffix :: Flag String only in `GhcStaticAndDynamic` mode ghcOptDynObjSuffix :: Flag String only in `GhcStaticAndDynamic` mode ghcOptHiDir :: Flag FilePath ghcOptObjDir :: Flag FilePath ghcOptOutputDir :: Flag FilePath ghcOptStubDir :: Flag FilePath ghcOptDynLinkMode :: Flag GhcDynLinkMode ghcOptStaticLib :: Flag Bool ghcOptShared :: Flag Bool ghcOptFPic :: Flag Bool ghcOptDylibName :: Flag String ghcOptRPaths :: NubListR FilePath ghcOptVerbosity :: Flag Verbosity Get GHC to be quiet or verbose with what it's doing; the `ghc -v` flag. ghcOptExtraPath :: NubListR FilePath Put the extra folders in the PATH environment variable we invoke GHC with ghcOptCabal :: Flag Bool Let GHC know that it is Cabal that's calling it. Modifies some of the GHC error messages.

Instances

Show GhcOptions # |
Instance details Defined in Distribution.Simple.Program.GHC Methods showsPrec :: Int -> GhcOptions -> ShowS Source # show :: GhcOptions -> String Source # showList :: [GhcOptions] -> ShowS Source #
Generic GhcOptions # |
Instance details Defined in Distribution.Simple.Program.GHC Associated Types type Rep GhcOptions :: * -> * Source # Methods from :: GhcOptions -> Rep GhcOptions x Source # to :: Rep GhcOptions x -> GhcOptions Source #
Semigroup GhcOptions # |
Instance details Defined in Distribution.Simple.Program.GHC Methods (<>) :: GhcOptions -> GhcOptions -> GhcOptions Source # sconcat :: NonEmpty GhcOptions -> GhcOptions Source # stimes :: Integral b => b -> GhcOptions -> GhcOptions Source #
Monoid GhcOptions # |
Instance details Defined in Distribution.Simple.Program.GHC Methods mempty :: GhcOptions Source # mappend :: GhcOptions -> GhcOptions -> GhcOptions Source # mconcat :: [GhcOptions] -> GhcOptions Source #
type Rep GhcOptions # |
Instance details Defined in Distribution.Simple.Program.GHC type Rep GhcOptions = D1 (MetaData "GhcOptions" "Distribution.Simple.Program.GHC" "Cabal-2.2.0.1" False) (C1 (MetaCons "GhcOptions" PrefixI True) (((((S1 (MetaSel (Just "ghcOptMode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag GhcMode)) :*: (S1 (MetaSel (Just "ghcOptExtra") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)) :*: S1 (MetaSel (Just "ghcOptExtraDefault") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)))) :*: ((S1 (MetaSel (Just "ghcOptInputFiles") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptInputModules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR ModuleName))) :*: (S1 (MetaSel (Just "ghcOptOutputFile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 (MetaSel (Just "ghcOptOutputDynFile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath))))) :*: (((S1 (MetaSel (Just "ghcOptSourcePathClear") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptSourcePath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath))) :*: (S1 (MetaSel (Just "ghcOptThisUnitId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String)) :*: S1 (MetaSel (Just "ghcOptThisComponentId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag ComponentId)))) :*: ((S1 (MetaSel (Just "ghcOptInstantiatedWith") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [(ModuleName, OpenModule)]) :*: S1 (MetaSel (Just "ghcOptNoCode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 (MetaSel (Just "ghcOptPackageDBs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 PackageDBStack) :*: S1 (MetaSel (Just "ghcOptPackages") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR (OpenUnitId, ModuleRenaming))))))) :*: (((S1 (MetaSel (Just "ghcOptHideAllPackages") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: (S1 (MetaSel (Just "ghcOptWarnMissingHomeModules") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptNoAutoLinkPackages") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 (MetaSel (Just "ghcOptLinkLibs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptLinkLibPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath))) :*: (S1 (MetaSel (Just "ghcOptLinkOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)) :*: S1 (MetaSel (Just "ghcOptLinkFrameworks") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String))))) :*: (((S1 (MetaSel (Just "ghcOptLinkFrameworkDirs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)) :*: S1 (MetaSel (Just "ghcOptNoLink") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 (MetaSel (Just "ghcOptLinkNoHsMain") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptLinkModDefFiles") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)))) :*: ((S1 (MetaSel (Just "ghcOptCcOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)) :*: S1 (MetaSel (Just "ghcOptCxxOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String))) :*: (S1 (MetaSel (Just "ghcOptCppOptions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR String)) :*: S1 (MetaSel (Just "ghcOptCppIncludePath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath))))))) :*: ((((S1 (MetaSel (Just "ghcOptCppIncludes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: (S1 (MetaSel (Just "ghcOptFfiIncludes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptLanguage") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Language)))) :*: ((S1 (MetaSel (Just "ghcOptExtensions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR Extension)) :*: S1 (MetaSel (Just "ghcOptExtensionMap") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map Extension (Maybe Flag)))) :*: (S1 (MetaSel (Just "ghcOptOptimisation") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag GhcOptimisation)) :*: S1 (MetaSel (Just "ghcOptDebugInfo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag DebugInfoLevel))))) :*: (((S1 (MetaSel (Just "ghcOptProfilingMode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptProfilingAuto") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag GhcProfAuto))) :*: (S1 (MetaSel (Just "ghcOptSplitSections") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptSplitObjs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)))) :*: ((S1 (MetaSel (Just "ghcOptNumJobs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag (Maybe Int))) :*: S1 (MetaSel (Just "ghcOptHPCDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 (MetaSel (Just "ghcOptGHCiScripts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptHiSuffix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String)))))) :*: ((((S1 (MetaSel (Just "ghcOptObjSuffix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String)) :*: S1 (MetaSel (Just "ghcOptDynHiSuffix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String))) :*: (S1 (MetaSel (Just "ghcOptDynObjSuffix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String)) :*: S1 (MetaSel (Just "ghcOptHiDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath)))) :*: ((S1 (MetaSel (Just "ghcOptObjDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 (MetaSel (Just "ghcOptOutputDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath))) :*: (S1 (MetaSel (Just "ghcOptStubDir") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag FilePath)) :*: S1 (MetaSel (Just "ghcOptDynLinkMode") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag GhcDynLinkMode))))) :*: (((S1 (MetaSel (Just "ghcOptStaticLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptShared") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool))) :*: (S1 (MetaSel (Just "ghcOptFPic") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)) :*: S1 (MetaSel (Just "ghcOptDylibName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag String)))) :*: ((S1 (MetaSel (Just "ghcOptRPaths") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptVerbosity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Verbosity))) :*: (S1 (MetaSel (Just "ghcOptExtraPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: S1 (MetaSel (Just "ghcOptCabal") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Flag Bool)))))))))

data GhcMode #

Constructors

GhcModeCompile |
    ghc -c
GhcModeLink |
    ghc
GhcModeMake |
    ghc --make
GhcModeInteractive | `ghci` / `ghc --interactive`
GhcModeAbiHash | `ghc --abi-hash` | GhcModeDepAnalysis -- ^ `ghc -M` | GhcModeEvaluate -- ^ `ghc -e`

Instances

Eq GhcMode # |
Instance details Defined in Distribution.Simple.Program.GHC Methods (==) :: GhcMode -> GhcMode -> Bool # (/=) :: GhcMode -> GhcMode -> Bool #
Show GhcMode # |
Instance details Defined in Distribution.Simple.Program.GHC Methods showsPrec :: Int -> GhcMode -> ShowS Source # show :: GhcMode -> String Source # showList :: [GhcMode] -> ShowS Source #

data GhcOptimisation #

Constructors

GhcNoOptimisation |
    -O0
GhcNormalOptimisation |
    -O
GhcMaximumOptimisation |
    -O2
GhcSpecialOptimisation String | e.g. `-Odph`

Instances

Eq GhcOptimisation # |
Instance details Defined in Distribution.Simple.Program.GHC Methods (==) :: GhcOptimisation -> GhcOptimisation -> Bool # (/=) :: GhcOptimisation -> GhcOptimisation -> Bool #
Show GhcOptimisation # |
Instance details Defined in Distribution.Simple.Program.GHC Methods showsPrec :: Int -> GhcOptimisation -> ShowS Source # show :: GhcOptimisation -> String Source # showList :: [GhcOptimisation] -> ShowS Source #

data GhcDynLinkMode #

Constructors

GhcStaticOnly |
    -static
GhcDynamicOnly |
    -dynamic
GhcStaticAndDynamic |
    -static -dynamic-too

Instances

Eq GhcDynLinkMode # |
Instance details Defined in Distribution.Simple.Program.GHC Methods (==) :: GhcDynLinkMode -> GhcDynLinkMode -> Bool # (/=) :: GhcDynLinkMode -> GhcDynLinkMode -> Bool #
Show GhcDynLinkMode # |
Instance details Defined in Distribution.Simple.Program.GHC Methods showsPrec :: Int -> GhcDynLinkMode -> ShowS Source # show :: GhcDynLinkMode -> String Source # showList :: [GhcDynLinkMode] -> ShowS Source #

data GhcProfAuto #

Constructors

GhcProfAutoAll |
    -fprof-auto
GhcProfAutoToplevel |
    -fprof-auto-top
GhcProfAutoExported |
    -fprof-auto-exported

Instances

Eq GhcProfAuto # |
Instance details Defined in Distribution.Simple.Program.GHC Methods (==) :: GhcProfAuto -> GhcProfAuto -> Bool # (/=) :: GhcProfAuto -> GhcProfAuto -> Bool #
Show GhcProfAuto # |
Instance details Defined in Distribution.Simple.Program.GHC Methods showsPrec :: Int -> GhcProfAuto -> ShowS Source # show :: GhcProfAuto -> String Source # showList :: [GhcProfAuto] -> ShowS Source #

ghcInvocation :: ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> ProgramInvocation #

renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String] #

runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO () #

packageDbArgsDb :: PackageDBStack -> [String] #

GHC >= 7.6 uses the '-package-db' flag. See https://ghc.haskell.org/trac/ghc/ticket/5977.