Cabal-3.0.0.0: A framework for packaging Haskell software

Safe HaskellNone
LanguageHaskell2010

Distribution.Simple.Program.GHC

Synopsis

Documentation

data GhcOptions #

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

GhcOptions 

Fields

Instances
Show GhcOptions # 
Instance details

Defined in Distribution.Simple.Program.GHC

Generic GhcOptions # 
Instance details

Defined in Distribution.Simple.Program.GHC

Associated Types

type Rep GhcOptions :: Type -> Type #

Semigroup GhcOptions # 
Instance details

Defined in Distribution.Simple.Program.GHC

Monoid GhcOptions # 
Instance details

Defined in Distribution.Simple.Program.GHC

type Rep GhcOptions # 
Instance details

Defined in Distribution.Simple.Program.GHC

type Rep GhcOptions = D1 (MetaData "GhcOptions" "Distribution.Simple.Program.GHC" "Cabal-3.0.0.0-CD1INMNwoxXIKVgcu1nec5" 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 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 [FilePath]))) :*: ((S1 (MetaSel (Just "ghcOptLinkLibPath") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (NubListR FilePath)) :*: 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 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 [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 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 [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

data GhcProfAuto #

Constructors

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

packageDbArgsDb :: PackageDBStack -> [String] #

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