X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=System%2FInfo.hs;h=85b90177b5104a53e729995260578304de900c45;hb=ca6b0a3e29400e95514169cd2735768965be1396;hp=9b61867c58c7aed4232188feb59f9aafe3b49745;hpb=5545727d5a6a1fc6d5d00f32a92a8fdf0fb7ca77;p=ghc-base.git diff --git a/System/Info.hs b/System/Info.hs index 9b61867..85b9017 100644 --- a/System/Info.hs +++ b/System/Info.hs @@ -1,32 +1,59 @@ ----------------------------------------------------------------------------- --- +-- | -- Module : System.Info -- Copyright : (c) The University of Glasgow 2001 --- License : BSD-style (see the file libraries/core/LICENSE) +-- License : BSD-style (see the file libraries/base/LICENSE) -- -- Maintainer : libraries@haskell.org -- Stability : experimental -- Portability : portable -- --- $Id: Info.hs,v 1.2 2001/07/03 11:37:50 simonmar Exp $ --- -- Misc information about the characteristics of the host --- architecture/machine lucky enough to run your program. +-- architecture\/machine lucky enough to run your program. -- ----------------------------------------------------------------------------- -#include "MachDeps.h" - module System.Info ( os, -- :: String - arch -- :: 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 + +#else +os,arch ::String +#include "OSInfo.hs" +#endif + +compilerName :: String +#if defined(__NHC__) +compilerName = "nhc98" +#elif defined(__GLASGOW_HASKELL__) +compilerName = "ghc" +#elif defined(__HUGS__) +compilerName = "hugs" +#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