ghc-toolchain-0.1.0.0: Utility for managing GHC target toolchains
Safe HaskellNone
LanguageHaskell2010

GHC.Toolchain.Target

Synopsis

A Toolchain Target

data Target Source #

A Target consists of:

  • a target architecture and operating system
  • various bits of information about the platform
  • various toolchain components targetting that platform

Constructors

Target 

Fields

Instances

Instances details
Eq Target Source # 
Instance details

Defined in GHC.Toolchain.Target

Methods

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

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

Ord Target Source # 
Instance details

Defined in GHC.Toolchain.Target

Read Target Source # 
Instance details

Defined in GHC.Toolchain.Target

Show Target Source #

Handwritten Show instance to have have better diffs against the toolchain targets generated by configure

Instance details

Defined in GHC.Toolchain.Target

targetPlatformTriple :: Target -> String Source #

Reconstruct the platform triple from a toolchain target (specifically from tgtArchOs and tgtVendor)

data WordSize Source #

Constructors

WS4 
WS8 

Instances

Instances details
Eq WordSize Source # 
Instance details

Defined in GHC.Toolchain.Target

Ord WordSize Source # 
Instance details

Defined in GHC.Toolchain.Target

Read WordSize Source # 
Instance details

Defined in GHC.Toolchain.Target

Show WordSize Source # 
Instance details

Defined in GHC.Toolchain.Target

wordSize2Bytes :: WordSize -> Int Source #

The word size as an integer representing the number of bytes

Queries

tgtRTSLinkerOnlySupportsSharedLibs :: Target -> Bool Source #

Does the target RTS linker only support loading shared libraries? If true, this has several implications: 1. The GHC driver must not do loadArchive/loadObj etc and must always do loadDLL, regardless of whether host GHC is dynamic or not. 2. The GHC driver will always enable -dynamic-too when compiling vanilla way with TH codegen requirement. 3. ghci will always enforce dynamic ways even if -dynamic or -dynamic-too is not explicitly passed. 4. Cabal must not build ghci objects since it's not supported by the target. 5. The testsuite driver will use dyn way for TH/ghci tests even when host GHC is static. 6. TH/ghci doesn't work if stage1 is built without shared libraries (e.g. quickest/fully_static).

Lenses

Re-exports

data ByteOrder #

Constructors

BigEndian 
LittleEndian 

Instances

Instances details
Eq ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Ord ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Bounded ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Enum ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Generic ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Associated Types

type Rep ByteOrder 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.Internal.ByteOrder" "ghc-internal" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))
Read ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

Show ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder # 
Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder = D1 ('MetaData "ByteOrder" "GHC.Internal.ByteOrder" "ghc-internal" 'False) (C1 ('MetaCons "BigEndian" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LittleEndian" 'PrefixI 'False) (U1 :: Type -> Type))