Moduleghc-9.10.3GHC2021
GHC.Settings
Run-time settings
- 6 types
- 56 values
- Packageghc-9.10.3
- Exports62
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceSettings.hs
Settings for other executables GHC calls.
Probably should further split down by phase, or split between platform-specific and platform-agnostic.
Constructors
ToolSettingstoolSettings_ldSupportsCompactUnwind :: BooltoolSettings_ldSupportsFilelist :: BooltoolSettings_ldSupportsSingleModule :: BooltoolSettings_mergeObjsSupportsResponseFiles :: BooltoolSettings_ldIsGnuLd :: BooltoolSettings_ccSupportsNoPie :: BooltoolSettings_useInplaceMinGW :: BooltoolSettings_arSupportsDashL :: BooltoolSettings_cmmCppSupportsG0 :: BooltoolSettings_pgm_L :: StringtoolSettings_pgm_P :: (String, [Option])The Haskell C preprocessor and default options (not added by -optP)
toolSettings_pgm_JSP :: (String, [Option])The JavaScript C preprocessor and default options (not added by -optP)
toolSettings_pgm_CmmP :: (String, [Option])The C-- C Preprocessor and default options (not added by -optP)
toolSettings_pgm_F :: StringtoolSettings_pgm_c :: StringtoolSettings_pgm_cxx :: StringtoolSettings_pgm_cpp :: (String, [Option])The C preprocessor (distinct from the Haskell C preprocessor!)
toolSettings_pgm_a :: (String, [Option])toolSettings_pgm_l :: (String, [Option])toolSettings_pgm_lm :: Maybe (String, [Option])N.B. On Windows we don't have a linker which supports object merging, hence the Maybe. See Note [Object merging] in GHC.Driver.Pipeline.Execute for details.
toolSettings_pgm_windres :: StringtoolSettings_pgm_ar :: StringtoolSettings_pgm_otool :: StringtoolSettings_pgm_install_name_tool :: StringtoolSettings_pgm_ranlib :: StringtoolSettings_pgm_lo :: (String, [Option])LLVM: opt llvm optimiser
toolSettings_pgm_lc :: (String, [Option])LLVM: llc static compiler
toolSettings_pgm_las :: (String, [Option])LLVM: assembler
toolSettings_pgm_i :: StringtoolSettings_opt_L :: [String]toolSettings_opt_P :: [String]toolSettings_opt_JSP :: [String]toolSettings_opt_CmmP :: [String]toolSettings_opt_P_fingerprint :: Fingerprintcached Fingerprint of sOpt_P See Note [Repeated -optP hashing]
toolSettings_opt_JSP_fingerprint :: Fingerprintcached Fingerprint of sOpt_JSP See Note [Repeated -optP hashing]
toolSettings_opt_CmmP_fingerprint :: Fingerprintcached Fingerprint of sOpt_CmmP See Note [Repeated -optP hashing]
toolSettings_opt_F :: [String]toolSettings_opt_c :: [String]toolSettings_opt_cxx :: [String]toolSettings_opt_a :: [String]toolSettings_opt_l :: [String]toolSettings_opt_lm :: [String]toolSettings_opt_windres :: [String]toolSettings_opt_lo :: [String]LLVM: llvm optimiser
toolSettings_opt_lc :: [String]LLVM: llc static compiler
toolSettings_opt_las :: [String]toolSettings_opt_i :: [String]iserv options
toolSettings_extraGccViaCFlags :: [String]
Paths to various files and directories used by GHC, including those that provide more settings.
Settings for what GHC this is.
Platform description
This is used to describe platforms so that we can generate code for them.
Constructors
PlatformplatformArchOS :: !ArchOSArchitecture and OS
platformWordSize :: !PlatformWordSizeWord size
platformByteOrder :: !ByteOrderByte order (endianness)
platformUnregisterised :: !BoolplatformHasGnuNonexecStack :: !BoolplatformHasIdentDirective :: !BoolplatformHasSubsectionsViaSymbols :: !BoolplatformIsCrossCompiling :: !BoolplatformLeadingUnderscore :: !BoolSymbols need underscore prefix
platformTablesNextToCode :: !BoolDetermines whether we will be compiling info tables that reside just before the entry code, or with an indirection to the entry code. See TABLES_NEXT_TO_CODE in
rtsincludertsstorageInfoTables.h.platformHasLibm :: !BoolSome platforms require that we explicitly link against
libmif any math-y things are used (which we assume to include all programs). See #14022.platform_constants :: !Maybe PlatformConstantsConstants such as structure offsets, type sizes, etc.
Instances28Eq, Ord, Read, Show, OutputableP, …
Eq PlatformDefined in ghc-9.10.3 · GHC.PlatformOrd PlatformDefined in ghc-9.10.3 · GHC.PlatformRead PlatformDefined in ghc-9.10.3 · GHC.PlatformShow PlatformDefined in ghc-9.10.3 · GHC.PlatformOutputableP Platform CmmGraphDefined in ghc-9.10.3 · GHC.CmmOutputableP Platform CmmInfoTableDefined in ghc-9.10.3 · GHC.CmmOutputableP Platform CmmStaticDefined in ghc-9.10.3 · GHC.CmmOutputableP Platform CmmTopInfoDefined in ghc-9.10.3 · GHC.CmmOutputableP Platform CLabelDefined in ghc-9.10.3 · GHC.Cmm.CLabelOutputableP Platform InfoProvEntDefined in ghc-9.10.3 · GHC.Cmm.CLabelOutputableP Platform DebugBlockDefined in ghc-9.10.3 · GHC.Cmm.DebugBlockOutputableP Platform UnwindExprDefined in ghc-9.10.3 · GHC.Cmm.DebugBlockOutputableP Platform UnwindPointDefined in ghc-9.10.3 · GHC.Cmm.DebugBlockOutputableP Platform CmmExprDefined in ghc-9.10.3 · GHC.Cmm.ExprOutputableP Platform CmmLitDefined in ghc-9.10.3 · GHC.Cmm.ExprOutputableP Platform ForeignTargetDefined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform DwarfFrameBlockDefined in ghc-9.10.3 · GHC.CmmToAsm.Dwarf.TypesOutputableP Platform LiveInfoDefined in ghc-9.10.3 · GHC.CmmToAsm.Reg.LivenessOutputableP Platform CgLocDefined in ghc-9.10.3 · GHC.StgToCmm.ClosureOutputableP Platform CgIdInfoDefined in ghc-9.10.3 · GHC.StgToCmm.MonadOutputableP Platform (GenCmmStatics a)Defined in ghc-9.10.3 · GHC.CmmOutputableP Platform (CmmNode e x)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode C C)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode C O)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode O C)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Block CmmNode O O)Defined in ghc-9.10.3 · GHC.Cmm.NodeOutputableP Platform (Graph CmmNode e x)Defined in ghc-9.10.3 · GHC.Cmm.Node(OutputableP Platform d, OutputableP Platform info, OutputableP Platform i) => OutputableP Platform (GenCmmDecl d info i)Defined in ghc-9.10.3 · GHC.Cmm
Platform-specific settings formerly hard-coded in Config.hs.
These should probably be all be triaged whether they can be computed from other settings or belong in another another place (like Platform above).
Accessors
56 declarationsDynamic library suffix