Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data GhcOptions = GhcOptions {
- ghcOptMode :: Flag GhcMode
- ghcOptExtra :: [String]
- ghcOptExtraDefault :: [String]
- ghcOptInputFiles :: NubListR FilePath
- ghcOptInputScripts :: 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 :: [FilePath]
- ghcOptLinkLibPath :: NubListR FilePath
- ghcOptLinkOptions :: [String]
- ghcOptLinkFrameworks :: NubListR String
- ghcOptLinkFrameworkDirs :: NubListR String
- ghcOptLinkRts :: Flag Bool
- ghcOptNoLink :: Flag Bool
- ghcOptLinkNoHsMain :: Flag Bool
- ghcOptLinkModDefFiles :: NubListR FilePath
- ghcOptCcOptions :: [String]
- ghcOptCxxOptions :: [String]
- ghcOptAsmOptions :: [String]
- ghcOptCppOptions :: [String]
- ghcOptCppIncludePath :: NubListR FilePath
- ghcOptCppIncludes :: NubListR FilePath
- 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 (Maybe Int)
- ghcOptHPCDir :: Flag FilePath
- ghcOptGHCiScripts :: [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
- data GhcOptimisation
- data GhcDynLinkMode
- data GhcProfAuto
- ghcInvocation :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO ProgramInvocation
- renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String]
- runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO ()
- packageDbArgsDb :: PackageDBStack -> [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 |
|
data GhcOptimisation Source #
GhcNoOptimisation | -O0 |
GhcNormalOptimisation | -O |
GhcMaximumOptimisation | -O2 |
GhcSpecialOptimisation String | e.g. |
Instances
Show GhcOptimisation Source # | |
Defined in Distribution.Simple.Program.GHC | |
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 | |
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 | |
Eq GhcProfAuto Source # | |
Defined in Distribution.Simple.Program.GHC (==) :: GhcProfAuto -> GhcProfAuto -> Bool # (/=) :: GhcProfAuto -> GhcProfAuto -> Bool # |
ghcInvocation :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO ProgramInvocation Source #
renderGhcOptions :: Compiler -> Platform -> GhcOptions -> [String] Source #
runGHC :: Verbosity -> ConfiguredProgram -> Compiler -> Platform -> GhcOptions -> IO () Source #
packageDbArgsDb :: PackageDBStack -> [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 #