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

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)

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 Source #

Byte ordering.

Constructors

BigEndian

most-significant-byte occurs in lowest address.

LittleEndian

least-significant-byte occurs in lowest address.

Instances

Instances details
Eq ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Ord ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Bounded ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Enum ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

Generic ByteOrder Source # 
Instance details

Defined in GHC.Internal.Generics

Associated Types

type Rep ByteOrder

Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Generics

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 Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.Read

Show ByteOrder Source #

Since: base-4.11.0.0

Instance details

Defined in GHC.Internal.ByteOrder

type Rep ByteOrder Source #

Since: base-4.15.0.0

Instance details

Defined in GHC.Internal.Generics

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))