diff options
author | panne <unknown> | 2005-01-31 19:28:42 +0000 |
---|---|---|
committer | panne <unknown> | 2005-01-31 19:28:42 +0000 |
commit | 0b4510807b731454472e4e3b64739d7558880405 (patch) | |
tree | 649a43ef77eb7a47059745178ae0eb4c31db3ed1 /libraries/base/System/Info.hs | |
parent | 7a2b4ed7830e04111ca772473626adc70b90d829 (diff) | |
download | haskell-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/base/System/Info.hs')
-rw-r--r-- | libraries/base/System/Info.hs | 51 |
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 - |