summaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
authorpanne <unknown>2005-01-31 19:28:42 +0000
committerpanne <unknown>2005-01-31 19:28:42 +0000
commit0b4510807b731454472e4e3b64739d7558880405 (patch)
tree649a43ef77eb7a47059745178ae0eb4c31db3ed1 /libraries
parent7a2b4ed7830e04111ca772473626adc70b90d829 (diff)
downloadhaskell-0b4510807b731454472e4e3b64739d7558880405.tar.gz
[project @ 2005-01-31 19:28:42 by panne]
* Unbreak System.Info for Hugs, rearranging the whole module a bit. * Platform-specific exports suck, so even Hugs has a compilerVersion now, although it is currently always version 0.0 :-) Tested with Hugs only...
Diffstat (limited to 'libraries')
-rw-r--r--libraries/base/System/Info.hs51
1 files changed, 19 insertions, 32 deletions
diff --git a/libraries/base/System/Info.hs b/libraries/base/System/Info.hs
index c27ef9d704..02cfa0dc57 100644
--- a/libraries/base/System/Info.hs
+++ b/libraries/base/System/Info.hs
@@ -1,4 +1,4 @@
------------------------------------------------------------------------------
+<-----------------------------------------------------------------------------
-- |
-- Module : System.Info
-- Copyright : (c) The University of Glasgow 2001
@@ -18,51 +18,38 @@ module System.Info
os, -- :: String
arch, -- :: String
compilerName, -- :: String
-#ifdef __GLASGOW_HASKELL__
compilerVersion -- :: Version
-#endif
) where
import Prelude
import Data.Version
-#ifndef __NHC__
-
-#include "ghcplatform.h"
-
-arch :: String
-arch = HOST_ARCH
-
-os :: String
-os = HOST_OS
+compilerVersion :: Version
+compilerVersion = Version {versionBranch=[maj,min], versionTags=[]}
+ where (maj,min) = compilerVersionRaw `divMod` 100
-#else
-os,arch ::String
-#include "OSInfo.hs"
-#endif
+os, arch, compilerName :: String
+compilerVersionRaw :: Int
-compilerName :: String
#if defined(__NHC__)
+#include "OSInfo.hs"
compilerName = "nhc98"
+compilerVersionRaw = __NHC__
+
#elif defined(__GLASGOW_HASKELL__)
+#include "ghcplatform.h"
+os = HOST_OS
+arch = HOST_ARCH
compilerName = "ghc"
+compilerVersionRaw = __GLASGOW_HASKELL__
+
#elif defined(__HUGS__)
+#include "platform.h"
+os = HOST_OS
+arch = HOST_ARCH
compilerName = "hugs"
+compilerVersionRaw = 0 -- ToDo
+
#else
#error Unknown compiler name
#endif
-
-#ifdef __GLASGOW_HASKELL__
-compilerVersion :: Version
-compilerVersion = Version {versionBranch=[maj,min], versionTags=[]}
- where (maj,min) = __GLASGOW_HASKELL__ `divMod` 100
-#endif
-
-#ifdef __NHC__
-compilerVersion :: Version
-compilerVersion = Version {versionBranch=[maj,min], versionTags=[]}
- where version = __NHC__ `divMod` 100
- maj = fst version
- min = snd version
-#endif
-