[project @ 2004-03-05 18:00:35 by malcolm]
authormalcolm <unknown>
Fri, 5 Mar 2004 18:00:36 +0000 (18:00 +0000)
committermalcolm <unknown>
Fri, 5 Mar 2004 18:00:36 +0000 (18:00 +0000)
Plumb System.Time and System.CPUTime into nhc98 libraries build.

Makefile.nhc98
System/Time.hsc

index bacf69c..d362679 100644 (file)
@@ -16,6 +16,7 @@ SRCS  = \
        System/Environment.hs System/Exit.hs System/Locale.hs \
        System/Directory.hs System/Mem.hs System/Cmd.hs System/Info.hs \
        System/Console/GetOpt.hs System/Random.hs \
+       System/CPUTime.hsc System/Time.hsc \
        Foreign/Ptr.hs Foreign/StablePtr.hs Foreign/Storable.hs \
        Foreign/ForeignPtr.hs Foreign/C/Types.hs \
        Foreign/Marshal/Alloc.hs Foreign/Marshal/Array.hs \
@@ -28,7 +29,6 @@ SRCS  = \
 
 #      [Data/Dynamic.hs] Data/Generics.hs Data/STRef.hs Data/Unique.hs
 #      Debug/QuickCheck.hs
-#      System/CPUTime.hsc System/Time.hsc
 #      System/Mem.hs System/Mem/StableName.hs System/Mem/Weak.hs
 #      System/Posix/Types.hs System/Posix/Signals.hsc
 #      Text/ParserCombinators/ReadP.hs Text/ParserCombinators/ReadPrec.hs
index e342ac3..9eeed25 100644 (file)
@@ -96,10 +96,16 @@ module System.Time
 
      ) where
 
-#ifndef __HUGS__
+#ifdef __GLASGOW_HASKELL__
 #include "HsBase.h"
 #endif
 
+#ifdef __NHC__
+#include <time.h>
+#define HAVE_TM_ZONE 1
+import Ix
+#endif
+
 import Prelude
 
 import Data.Ix
@@ -251,7 +257,9 @@ addToClockTime (TimeDiff year mon day hour min sec psec)
          cal      = toUTCTime (TOD (c_sec + sec_diff) (c_psec + psec))
                                                        -- FIXME! ^^^^
           new_mon  = fromEnum (ctMonth cal) + r_mon 
-         (month', yr_diff)
+         month' = fst tmp
+         yr_diff = snd tmp
+          tmp
            | new_mon < 0  = (toEnum (12 + new_mon), (-1))
            | new_mon > 11 = (toEnum (new_mon `mod` 12), 1)
            | otherwise    = (toEnum new_mon, 0)