summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/Platform.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/nativeGen/Platform.hs')
-rw-r--r--compiler/nativeGen/Platform.hs12
1 files changed, 11 insertions, 1 deletions
diff --git a/compiler/nativeGen/Platform.hs b/compiler/nativeGen/Platform.hs
index 8b01f5cbb3..afbf0b2ae2 100644
--- a/compiler/nativeGen/Platform.hs
+++ b/compiler/nativeGen/Platform.hs
@@ -9,7 +9,8 @@ module Platform (
Arch(..),
OS(..),
- defaultTargetPlatform
+ defaultTargetPlatform,
+ osElfTarget
)
where
@@ -47,9 +48,16 @@ data OS
| OSDarwin
| OSSolaris
| OSMinGW32
+ | OSFreeBSD
deriving (Show, Eq)
+-- | This predicates tells us whether the OS supports ELF-like shared libraries.
+osElfTarget :: OS -> Bool
+osElfTarget OSLinux = True
+osElfTarget OSFreeBSD = 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
defaultTargetPlatform :: Platform
@@ -86,6 +94,8 @@ defaultTargetOS = OSDarwin
defaultTargetOS = OSSolaris
#elif mingw32_TARGET_OS
defaultTargetOS = OSMinGW32
+#elif freebsd_TARGET_OS
+defaultTargetOS = OSFreeBSD
#else
defaultTargetOS = OSUnknown
#endif