find the best rawSystem
authormalcolm <unknown>
Thu, 6 Jan 2005 14:54:17 +0000 (14:54 +0000)
committermalcolm <unknown>
Thu, 6 Jan 2005 14:54:17 +0000 (14:54 +0000)
When built as a ghc utility, Compat.RawSystem is always available.
When built as an nhc98 utility, -DBUILD_NHC symbol allows for getting
the best otherwise-available version of rawSystem.

Main.hs
Makefile.nhc98

diff --git a/Main.hs b/Main.hs
index b93728b..aefd3f2 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS -fffi -cpp #-}
 
 ------------------------------------------------------------------------
--- $Id: Main.hs,v 1.64 2005/01/06 10:44:14 malcolm Exp $
+-- $Id: Main.hs,v 1.65 2005/01/06 14:54:15 malcolm Exp $
 --
 -- Program for converting .hsc files to .hs files, by converting the
 -- file into a C program which is run to generate the Haskell source.
@@ -34,10 +34,12 @@ import CString
 #endif
 
 
-#if __GLASGOW_HASKELL__ >= 603
+#if defined(__GLASGOW_HASKELL__) && !defined(BUILD_NHC)
 import Compat.RawSystem        ( rawSystem )
 #elif __HUGS__ || __NHC__ >= 117 || __GLASGOW_HASKELL__ >= 600
 import System.Cmd              ( rawSystem )
+#elif BUILD_NHC && __GLASGOW_HASKELL__ >= 603
+import Compat.RawSystem        ( rawSystem )
 #else
 rawSystem prog args = system (prog++" "++unwords args)
 #endif
index a6879cb..d853584 100644 (file)
@@ -33,7 +33,7 @@ realclean: clean cleanC
        -rm -f $(OBJDIR)/Main$(EXE)
 
 $(TARGET): $(OBJDIR) $(SRCS)
-       $(HMAKE) -hc=$(HC) Main -d$(OBJDIR) \
+       $(HMAKE) -hc=$(HC) Main -d$(OBJDIR) -DBUILD_NHC \
                $(shell echo "${BUILDOPTS}") $(HFLAGS)
        mv $(OBJDIR)/Main$(EXE) $(TARGET)
        $(STRIP) $(TARGET)