Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data GhcOptions = GhcOptions {
- ghcOptMode :: Flag GhcMode
- ghcOptExtra :: [String]
- ghcOptExtraDefault :: [String]
- ghcOptInputFiles :: NubListR (SymbolicPath Pkg 'File)
- ghcOptInputScripts :: NubListR (SymbolicPath Pkg 'File)
- ghcOptInputModules :: NubListR ModuleName
- ghcOptOutputFile :: Flag (SymbolicPath Pkg 'File)
- ghcOptOutputDynFile :: Flag FilePath
- ghcOptSourcePathClear :: Flag Bool
- ghcOptSourcePath :: NubListR (SymbolicPath Pkg ('Dir Source))
- 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 :: [FilePath]
- ghcOptLinkLibPath :: NubListR (SymbolicPath Pkg ('Dir Lib))
- ghcOptLinkOptions :: [String]
- ghcOptLinkFrameworks :: NubListR String
- ghcOptLinkFrameworkDirs :: NubListR (SymbolicPath Pkg ('Dir Framework))
- ghcOptLinkRts :: Flag Bool
- ghcOptNoLink :: Flag Bool
- ghcOptLinkNoHsMain :: Flag Bool
- ghcOptLinkModDefFiles :: NubListR FilePath
- ghcOptCcOptions :: [String]
- ghcOptCxxOptions :: [String]
- ghcOptAsmOptions :: [String]
- ghcOptCppOptions :: [String]
- ghcOptCppIncludePath :: NubListR (SymbolicPath Pkg ('Dir Include))
- ghcOptCppIncludes :: NubListR (SymbolicPath Pkg 'File)
- ghcOptFfiIncludes :: NubListR FilePath
- ghcOptCcProgram :: Flag FilePath
- ghcOptLanguage :: Flag Language
- ghcOptExtensions :: NubListR Extension
- ghcOptExtensionMap :: Map Extension (Maybe CompilerFlag)
- ghcOptOptimisation :: Flag GhcOptimisation
- ghcOptDebugInfo :: Flag DebugInfoLevel
- ghcOptProfilingMode :: Flag Bool
- ghcOptProfilingAuto :: Flag GhcProfAuto
- ghcOptSplitSections :: Flag Bool
- ghcOptSplitObjs :: Flag Bool
- ghcOptNumJobs :: Flag ParStrat
- ghcOptHPCDir :: Flag (SymbolicPath Pkg ('Dir Mix))
- ghcOptGHCiScripts :: [FilePath]
- ghcOptHiSuffix :: Flag String
- ghcOptObjSuffix :: Flag String
- ghcOptDynHiSuffix :: Flag String
- ghcOptDynObjSuffix :: Flag String
- ghcOptHiDir :: Flag (SymbolicPath Pkg ('Dir Artifacts))
- ghcOptHieDir :: Flag (SymbolicPath Pkg ('Dir Artifacts))
- ghcOptObjDir :: Flag (SymbolicPath Pkg ('Dir Artifacts))
- ghcOptOutputDir :: Flag (SymbolicPath Pkg ('Dir Artifacts))
- ghcOptStubDir :: Flag (SymbolicPath Pkg ('Dir Artifacts))
- ghcOptDynLinkMode :: Flag GhcDynLinkMode
- ghcOptStaticLib :: Flag Bool
- ghcOptShared :: Flag Bool
- ghcOptFPic :: Flag Bool
- ghcOptDylibName :: Flag String
- ghcOptRPaths :: NubListR FilePath
- ghcOptVerbosity :: Flag Verbosity
- ghcOptExtraPath :: NubListR (SymbolicPath Pkg ('Dir Build))
- ghcOptCabal :: Flag Bool
- data GhcMode
- data GhcOptimisation
- data GhcDynLinkMode
- data GhcProfAuto
- ghcInvocation :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> Maybe (SymbolicPath CWD ('Dir Pkg)) -> GhcOptions -> IO ProgramInvocation
- renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String]
- runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> Maybe (SymbolicPath CWD ('Dir Pkg)) -> GhcOptions -> IO ()
- packageDbArgsDb :: PackageDBStackCWD -> [String]
- normaliseGhcArgs :: Maybe Version -> PackageDescription -> [String] -> [String]
Documentation
data GhcOptions Source #
A structured set of GHC options/flags
Note that options containing lists fall into two categories:
- options that can be safely deduplicated, e.g. input modules or enabled extensions;
- options that cannot be deduplicated in general without changing semantics, e.g. extra ghc options or linking options.
GhcOptions | |
|
Instances
GhcModeCompile | ghc -c |
GhcModeLink | ghc |
GhcModeMake | ghc --make |
GhcModeInteractive |
|
GhcModeAbiHash |
|
Instances
data GhcOptimisation Source #
GhcNoOptimisation | -O0 |
GhcNormalOptimisation | -O |
GhcMaximumOptimisation | -O2 |
GhcSpecialOptimisation String | e.g. |
Instances
Show GhcOptimisation Source # | |
Defined in Distribution.Simple.Program.GHC showsPrec :: Int -> GhcOptimisation -> ShowS # show :: GhcOptimisation -> String # showList :: [GhcOptimisation] -> ShowS # | |
Eq GhcOptimisation Source # | |
Defined in Distribution.Simple.Program.GHC (==) :: GhcOptimisation -> GhcOptimisation -> Bool # (/=) :: GhcOptimisation -> GhcOptimisation -> Bool # |
data GhcDynLinkMode Source #
GhcStaticOnly | -static |
GhcDynamicOnly | -dynamic |
GhcStaticAndDynamic | -static -dynamic-too |
Instances
Show GhcDynLinkMode Source # | |
Defined in Distribution.Simple.Program.GHC showsPrec :: Int -> GhcDynLinkMode -> ShowS # show :: GhcDynLinkMode -> String # showList :: [GhcDynLinkMode] -> ShowS # | |
Eq GhcDynLinkMode Source # | |
Defined in Distribution.Simple.Program.GHC (==) :: GhcDynLinkMode -> GhcDynLinkMode -> Bool # (/=) :: GhcDynLinkMode -> GhcDynLinkMode -> Bool # |
data GhcProfAuto Source #
GhcProfAutoAll | -fprof-auto |
GhcProfAutoToplevel | -fprof-auto-top |
GhcProfAutoExported | -fprof-auto-exported |
GhcProfLate | @-fprof-late |
Instances
Show GhcProfAuto Source # | |
Defined in Distribution.Simple.Program.GHC showsPrec :: Int -> GhcProfAuto -> ShowS # show :: GhcProfAuto -> String # showList :: [GhcProfAuto] -> ShowS # | |
Eq GhcProfAuto Source # | |
Defined in Distribution.Simple.Program.GHC (==) :: GhcProfAuto -> GhcProfAuto -> Bool # (/=) :: GhcProfAuto -> GhcProfAuto -> Bool # |
ghcInvocation :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> Maybe (SymbolicPath CWD ('Dir Pkg)) -> GhcOptions -> IO ProgramInvocation Source #
renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String] Source #
runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> Maybe (SymbolicPath CWD ('Dir Pkg)) -> GhcOptions -> IO () Source #
packageDbArgsDb :: PackageDBStackCWD -> [String] Source #
GHC >= 7.6 uses the '-package-db' flag. See https://gitlab.haskell.org/ghc/ghc/-/issues/5977.
normaliseGhcArgs :: Maybe Version -> PackageDescription -> [String] -> [String] Source #