Add dragonfly support; based on a patch from Goetz Isenmann
authorIan Lynagh <igloo@earth.li>
Sat, 11 Feb 2012 13:33:01 +0000 (13:33 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 11 Feb 2012 13:33:01 +0000 (13:33 +0000)
aclocal.m4
compiler/utils/Platform.hs
rts/PosixSource.h

index 9447a47..3e1cbe0 100644 (file)
@@ -211,6 +211,9 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS],
         freebsd)
             test -z "[$]2" || eval "[$]2=OSFreeBSD"
             ;;
+        dragonfly)
+            test -z "[$]2" || eval "[$]2=OSDragonFly"
+            ;;
         kfreebsdgnu)
             test -z "[$]2" || eval "[$]2=OSKFreeBSD"
             ;;
index 7045f4b..66f51e6 100644 (file)
@@ -54,6 +54,7 @@ data OS
         | OSSolaris2
         | OSMinGW32
         | OSFreeBSD
+        | OSDragonFly
         | OSOpenBSD
         | OSNetBSD
         | OSKFreeBSD
@@ -81,15 +82,16 @@ target32Bit p = platformWordSize p == 4
 
 -- | This predicates tells us whether the OS supports ELF-like shared libraries.
 osElfTarget :: OS -> Bool
-osElfTarget OSLinux    = True
-osElfTarget OSFreeBSD  = True
-osElfTarget OSOpenBSD  = True
-osElfTarget OSNetBSD   = True
-osElfTarget OSSolaris2 = True
-osElfTarget OSDarwin   = False
-osElfTarget OSMinGW32  = False
-osElfTarget OSKFreeBSD = True
-osElfTarget OSUnknown  = False
+osElfTarget OSLinux     = True
+osElfTarget OSFreeBSD   = True
+osElfTarget OSDragonFly = True
+osElfTarget OSOpenBSD   = True
+osElfTarget OSNetBSD    = True
+osElfTarget OSSolaris2  = True
+osElfTarget OSDarwin    = False
+osElfTarget OSMinGW32   = False
+osElfTarget OSKFreeBSD  = True
+osElfTarget OSUnknown   = False
  -- Defaulting to False is safe; it means don't rely on any
  -- ELF-specific functionality.  It is important to have a default for
  -- portability, otherwise we have to answer this question for every
index d139dd5..56e08ab 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <ghcplatform.h>
 
-#if defined(freebsd_HOST_OS)
+#if defined(freebsd_HOST_OS) || defined(dragonfly_HOST_OS)
 #define _POSIX_C_SOURCE 200112L
 #define _XOPEN_SOURCE   600
 #else