Commit 07d93083 authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Whitespace only in utils/Platform.hs

parent 35ce906d
-- | A description of the platform we're compiling for.
-- Used by the native code generator.
-- In the future, this module should be the only one that references
-- the evil #defines for each TARGET_ARCH and TARGET_OS
-- Used by the native code generator.
-- In the future, this module should be the only one that references
-- the evil #defines for each TARGET_ARCH and TARGET_OS
--
module Platform (
Platform(..),
Arch(..),
OS(..),
Platform(..),
Arch(..),
OS(..),
defaultTargetPlatform,
osElfTarget
defaultTargetPlatform,
osElfTarget
)
where
......@@ -19,38 +19,38 @@ where
-- | Contains enough information for the native code generator to emit
-- code for this platform.
-- code for this platform.
data Platform
= Platform
{ platformArch :: Arch
, platformOS :: OS }
= Platform
{ platformArch :: Arch
, platformOS :: OS }
-- | 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.
-- TODO: It might be nice to extend these constructors with information
-- about what instruction set extensions an architecture might support.
--
data Arch
= ArchUnknown
| ArchX86
| ArchX86_64
| ArchPPC
| ArchPPC_64
| ArchSPARC
deriving (Show, Eq)
= ArchUnknown
| ArchX86
| ArchX86_64
| ArchPPC
| ArchPPC_64
| ArchSPARC
deriving (Show, Eq)
-- | Operating systems that the native code generator knows about.
-- Having OSUnknown should produce a sensible default, but no promises.
-- Having OSUnknown should produce a sensible default, but no promises.
data OS
= OSUnknown
| OSLinux
| OSDarwin
| OSSolaris2
| OSMinGW32
| OSFreeBSD
| OSOpenBSD
deriving (Show, Eq)
= OSUnknown
| OSLinux
| OSDarwin
| OSSolaris2
| OSMinGW32
| OSFreeBSD
| OSOpenBSD
deriving (Show, Eq)
-- | This predicates tells us whether the OS supports ELF-like shared libraries.
......@@ -62,44 +62,44 @@ osElfTarget OSSolaris2 = True
osElfTarget _ = False
-- | This is the target platform as far as the #ifdefs are concerned.
-- These are set in includes/ghcplatform.h by the autoconf scripts
-- These are set in includes/ghcplatform.h by the autoconf scripts
defaultTargetPlatform :: Platform
defaultTargetPlatform
= Platform defaultTargetArch defaultTargetOS
= Platform defaultTargetArch defaultTargetOS
-- | Move the evil TARGET_ARCH #ifdefs into Haskell land.
defaultTargetArch :: Arch
#if i386_TARGET_ARCH
defaultTargetArch = ArchX86
defaultTargetArch = ArchX86
#elif x86_64_TARGET_ARCH
defaultTargetArch = ArchX86_64
defaultTargetArch = ArchX86_64
#elif powerpc_TARGET_ARCH
defaultTargetArch = ArchPPC
defaultTargetArch = ArchPPC
#elif powerpc64_TARGET_ARCH
defaultTargetArch = ArchPPC_64
defaultTargetArch = ArchPPC_64
#elif sparc_TARGET_ARCH
defaultTargetArch = ArchSPARC
defaultTargetArch = ArchSPARC
#else
defaultTargetArch = ArchUnknown
defaultTargetArch = ArchUnknown
#endif
-- | Move the evil TARGET_OS #ifdefs into Haskell land.
defaultTargetOS :: OS
#if linux_TARGET_OS
defaultTargetOS = OSLinux
defaultTargetOS = OSLinux
#elif darwin_TARGET_OS
defaultTargetOS = OSDarwin
defaultTargetOS = OSDarwin
#elif solaris2_TARGET_OS
defaultTargetOS = OSSolaris2
defaultTargetOS = OSSolaris2
#elif mingw32_TARGET_OS
defaultTargetOS = OSMinGW32
defaultTargetOS = OSMinGW32
#elif freebsd_TARGET_OS
defaultTargetOS = OSFreeBSD
defaultTargetOS = OSFreeBSD
#elif openbsd_TARGET_OS
defaultTargetOS = OSOpenBSD
defaultTargetOS = OSOpenBSD
#else
defaultTargetOS = OSUnknown
defaultTargetOS = OSUnknown
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment