Safe Haskell | Safe-Inferred |
---|
A description of the platform we're compiling for.
- data Platform = Platform {}
- data Arch
- = ArchUnknown
- | ArchX86
- | ArchX86_64
- | ArchPPC
- | ArchPPC_64
- | ArchSPARC
- | ArchARM { }
- | ArchAlpha
- | ArchMipseb
- | ArchMipsel
- data OS
- = OSUnknown
- | OSLinux
- | OSDarwin
- | OSiOS
- | OSSolaris2
- | OSMinGW32
- | OSFreeBSD
- | OSDragonFly
- | OSOpenBSD
- | OSNetBSD
- | OSKFreeBSD
- | OSHaiku
- | OSOsf3
- | OSQNXNTO
- | OSAndroid
- data ArmISA
- data ArmISAExt
- data ArmABI
- target32Bit :: Platform -> Bool
- isARM :: Arch -> Bool
- osElfTarget :: OS -> Bool
- platformUsesFrameworks :: Platform -> Bool
- platformBinariesAreStaticLibs :: Platform -> Bool
Documentation
Contains enough information for the native code generator to emit code for this platform.
Architectures that the native code generator knows about. TODO: It might be nice to extend these constructors with information about what instruction set extensions an architecture might support.
Operating systems that the native code generator knows about. Having OSUnknown should produce a sensible default, but no promises.
ARM Instruction Set Architecture, Extensions and ABI
target32Bit :: Platform -> BoolSource
osElfTarget :: OS -> BoolSource
This predicates tells us whether the OS supports ELF-like shared libraries.