Safe Haskell | None |
---|
- data Platform = Platform {
- platformArch :: Arch
- platformOs :: Os
- staticFileExtensionOfPlatform :: Platform -> String
- sharedFileExtensionOfPlatform :: Platform -> String
- data Arch
- = ArchX86_32
- | ArchX86_64
- | ArchPPC_32
- | ArchPPC_64
- archPointerWidth :: Arch -> Int
- data Os
- determineHostPlatform :: IO (Maybe Platform)
- determineHostArch :: IO (Maybe Arch)
- determineHostOs :: IO (Maybe Os)
Documentation
Describes a build or target platform.
Platform | |
|
staticFileExtensionOfPlatform :: Platform -> StringSource
Get the file extension to use for a static library on this platform.
sharedFileExtensionOfPlatform :: Platform -> StringSource
Get the file extension to use for a shared library on this platform.
Processor Architecture.
archPointerWidth :: Arch -> IntSource
Get the width of a pointer on the architecture, in bits.
Host platform
determineHostPlatform :: IO (Maybe Platform)Source
Determine the default host platform.
Uses the arch
and uname
commands which must be in the current path.
Returns Nothing
if arch
or uname
cannot be found, returned
an error, or we didn't recognise their response.
For Platforms like Darwin which can run both 32-bit and 64-bit binaries,
we return whatever the default is reported by arch
and uname
.
determineHostArch :: IO (Maybe Arch)Source
Determine the host archicture.
Uses the arch
command which must be in the current path.
determineHostOs :: IO (Maybe Os)Source
Determine the host OS.
Uses the uname
command which must be in the current path.