projects
/
ghc-base.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-02-01 00:52:20 by ross]
[ghc-base.git]
/
System
/
Info.hs
diff --git
a/System/Info.hs
b/System/Info.hs
index
02cd45d
..
b3550bc
100644
(file)
--- a/
System/Info.hs
+++ b/
System/Info.hs
@@
-13,27
+13,43
@@
--
-----------------------------------------------------------------------------
--
-----------------------------------------------------------------------------
-#ifndef __NHC__
-#include "MachDeps.h"
-#endif
-
module System.Info
(
os, -- :: String
module System.Info
(
os, -- :: String
- arch -- :: String
+ arch, -- :: String
+ compilerName, -- :: String
+ compilerVersion -- :: Version
) where
import Prelude
) where
import Prelude
+import Data.Version
+
+compilerVersion :: Version
+compilerVersion = Version {versionBranch=[maj,min], versionTags=[]}
+ where (maj,min) = compilerVersionRaw `divMod` 100
+
+os, arch, compilerName :: String
+compilerVersionRaw :: Int
-#ifndef __NHC__
+#if defined(__NHC__)
+#include "OSInfo.hs"
+compilerName = "nhc98"
+compilerVersionRaw = __NHC__
-arch :: String
+#elif defined(__GLASGOW_HASKELL__)
+#include "ghcplatform.h"
+os = HOST_OS
arch = HOST_ARCH
arch = HOST_ARCH
+compilerName = "ghc"
+compilerVersionRaw = __GLASGOW_HASKELL__
-os :: String
+#elif defined(__HUGS__)
+#include "platform.h"
os = HOST_OS
os = HOST_OS
+arch = HOST_ARCH
+compilerName = "hugs"
+compilerVersionRaw = 0 -- ToDo
#else
#else
-os,arch ::String
-#include "OSInfo.hs"
+#error Unknown compiler name
#endif
#endif