Cabal-3.14.1.0: A framework for packaging Haskell software
Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.Program.GHC

Synopsis

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.

Constructors

Fields

Instances

Instances details
Instance details

Defined in Distribution.Simple.Program.GHC

Associated Types

Instance details

Defined in Distribution.Simple.Program.GHC

type Rep GhcOptions = D1 ('MetaData "GhcOptions" "Distribution.Simple.Program.GHC" "Cabal-3.14.1.0-66e2" 'False) (C1 ('MetaCons "GhcOptions" 'PrefixI 'True) ((((((S1 ('MetaSel ('Just "ghcOptMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag GhcMode)) :*: S1 ('MetaSel ('Just "ghcOptExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptExtraDefault") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "ghcOptInputFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))))) :*: ((S1 ('MetaSel ('Just "ghcOptInputScripts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))) :*: S1 ('MetaSel ('Just "ghcOptInputModules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR ModuleName))) :*: (S1 ('MetaSel ('Just "ghcOptOutputFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg 'File))) :*: 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 (SymbolicPath Pkg ('Dir Source))))) :*: (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 [FilePath]))) :*: ((S1 ('MetaSel ('Just "ghcOptLinkLibPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Lib)))) :*: S1 ('MetaSel ('Just "ghcOptLinkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptLinkFrameworks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR String)) :*: S1 ('MetaSel ('Just "ghcOptLinkFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Framework))))))) :*: (((S1 ('MetaSel ('Just "ghcOptLinkRts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: 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 [String]) :*: S1 ('MetaSel ('Just "ghcOptCxxOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptAsmOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "ghcOptCppOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "ghcOptCppIncludePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Include)))))))))) :*: (((((S1 ('MetaSel ('Just "ghcOptCppIncludes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))) :*: S1 ('MetaSel ('Just "ghcOptFfiIncludes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR FilePath))) :*: (S1 ('MetaSel ('Just "ghcOptCcProgram") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag 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 CompilerFlag)))) :*: (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 ParStrat)) :*: S1 ('MetaSel ('Just "ghcOptHPCDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Mix))))) :*: (S1 ('MetaSel ('Just "ghcOptGHCiScripts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [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 (SymbolicPath Pkg ('Dir Artifacts)))))) :*: ((S1 ('MetaSel ('Just "ghcOptHieDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts)))) :*: S1 ('MetaSel ('Just "ghcOptObjDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts))))) :*: (S1 ('MetaSel ('Just "ghcOptOutputDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts)))) :*: S1 ('MetaSel ('Just "ghcOptStubDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts))))))) :*: (((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 (SymbolicPath Pkg ('Dir Build)))) :*: S1 ('MetaSel ('Just "ghcOptCabal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))))))
Show GhcOptions Source #
Instance details

Defined in Distribution.Simple.Program.GHC

type Rep GhcOptions Source #
Instance details

Defined in Distribution.Simple.Program.GHC

type Rep GhcOptions = D1 ('MetaData "GhcOptions" "Distribution.Simple.Program.GHC" "Cabal-3.14.1.0-66e2" 'False) (C1 ('MetaCons "GhcOptions" 'PrefixI 'True) ((((((S1 ('MetaSel ('Just "ghcOptMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag GhcMode)) :*: S1 ('MetaSel ('Just "ghcOptExtra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptExtraDefault") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "ghcOptInputFiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))))) :*: ((S1 ('MetaSel ('Just "ghcOptInputScripts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))) :*: S1 ('MetaSel ('Just "ghcOptInputModules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR ModuleName))) :*: (S1 ('MetaSel ('Just "ghcOptOutputFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg 'File))) :*: 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 (SymbolicPath Pkg ('Dir Source))))) :*: (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 [FilePath]))) :*: ((S1 ('MetaSel ('Just "ghcOptLinkLibPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Lib)))) :*: S1 ('MetaSel ('Just "ghcOptLinkOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptLinkFrameworks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR String)) :*: S1 ('MetaSel ('Just "ghcOptLinkFrameworkDirs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Framework))))))) :*: (((S1 ('MetaSel ('Just "ghcOptLinkRts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool)) :*: 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 [String]) :*: S1 ('MetaSel ('Just "ghcOptCxxOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String])) :*: (S1 ('MetaSel ('Just "ghcOptAsmOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: (S1 ('MetaSel ('Just "ghcOptCppOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [String]) :*: S1 ('MetaSel ('Just "ghcOptCppIncludePath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg ('Dir Include)))))))))) :*: (((((S1 ('MetaSel ('Just "ghcOptCppIncludes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR (SymbolicPath Pkg 'File))) :*: S1 ('MetaSel ('Just "ghcOptFfiIncludes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NubListR FilePath))) :*: (S1 ('MetaSel ('Just "ghcOptCcProgram") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag 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 CompilerFlag)))) :*: (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 ParStrat)) :*: S1 ('MetaSel ('Just "ghcOptHPCDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Mix))))) :*: (S1 ('MetaSel ('Just "ghcOptGHCiScripts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [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 (SymbolicPath Pkg ('Dir Artifacts)))))) :*: ((S1 ('MetaSel ('Just "ghcOptHieDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts)))) :*: S1 ('MetaSel ('Just "ghcOptObjDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts))))) :*: (S1 ('MetaSel ('Just "ghcOptOutputDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts)))) :*: S1 ('MetaSel ('Just "ghcOptStubDir") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag (SymbolicPath Pkg ('Dir Artifacts))))))) :*: (((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 (SymbolicPath Pkg ('Dir Build)))) :*: S1 ('MetaSel ('Just "ghcOptCabal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Flag Bool))))))))))

data GhcMode Source #

Constructors

GhcModeMake
ghc --make
GhcModeInteractive

ghci / ghc --interactive

GhcModeAbiHash

ghc --abi-hash | GhcModeDepAnalysis -- ^ ghc -M | GhcModeEvaluate -- ^ ghc -e

Instances

Instances details
Instance details

Defined in Distribution.Simple.Program.GHC

Methods

showsPrec :: Int -> GhcMode -> ShowS #

show :: GhcMode -> String #

showList :: [GhcMode] -> ShowS #

Instance details

Defined in Distribution.Simple.Program.GHC

Methods

(==) :: GhcMode -> GhcMode -> Bool #

(/=) :: GhcMode -> GhcMode -> Bool #

data GhcOptimisation Source #

Constructors

Instances

Instances details

data GhcDynLinkMode Source #

Constructors

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

Instances

Instances details

data GhcProfAuto Source #

Constructors

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

@-fprof-late

Instances

Instances details
Instance details

Defined in Distribution.Simple.Program.GHC

Instance details

Defined in Distribution.Simple.Program.GHC

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 #

AltStyle によって変換されたページ (->オリジナル) /