X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FInfo.hs;h=597f2c8266964f1e3f016c74f3b90e6371d42154;hb=85f61fe85c3e314c1726199549e51fc30042f402;hp=dfb30188d43590a92f326d21c848a1110ae44519;hpb=ec3ba94b254bd444e7a1c560c1d91c4879948c69;p=ghc-base.git diff --git a/System/Info.hs b/System/Info.hs index dfb3018..597f2c8 100644 --- a/System/Info.hs +++ b/System/Info.hs @@ -8,8 +8,8 @@ -- Stability : experimental -- Portability : portable -- --- Misc information about the characteristics of the host --- architecture\/machine lucky enough to run your program. +-- Information about the characteristics of the host +-- system lucky enough to run your program. -- ----------------------------------------------------------------------------- @@ -24,34 +24,43 @@ module System.Info import Prelude import Data.Version -#ifndef __NHC__ +-- | The version of 'compilerName' with which the program was compiled +-- or is being interpreted. +compilerVersion :: Version +compilerVersion = Version {versionBranch=[maj,min], versionTags=[]} + where (maj,min) = compilerVersionRaw `divMod` 100 -#include "ghcplatform.h" +-- | The operating system on which the program is running. +os :: String +-- | The machine architecture on which the program is running. arch :: String -arch = HOST_ARCH -os :: String -os = HOST_OS +-- | The Haskell implementation with which the program was compiled +-- or is being interpreted. +compilerName :: String -#else -os,arch ::String -#include "OSInfo.hs" -#endif +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 - -compilerVersion :: Version -#ifdef __GLASGOW_HASKELL__ -compilerVersion = Version {versionBranch=[maj,min], versionTags=[]} - where (maj,min) = __GLASGOW_HASKELL__ `divMod` 100 -#endif