{-# OPTIONS -fffi #-}
------------------------------------------------------------------------
--- $Id: Main.hs,v 1.52 2004/02/09 17:23:20 ross Exp $
+-- $Id: Main.hs,v 1.53 2004/02/15 12:20:26 panne 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.
let cProgName = outDir++outBase++"_hsc_make.c"
oProgName = outDir++outBase++"_hsc_make.o"
- progName = outDir++outBase++"_hsc_make" ++ EXEEXT
+ progName = outDir++outBase++"_hsc_make"
+#if defined(mingw32_HOST_OS)
+-- This is a real hack, but the quoting mechanism used for calling the C preprocesseor
+-- via GHC has changed a few times, so this seems to be the only way... :-P * * *
+ ++ ".exe"
+#endif
outHFile = outBase++"_hsc.h"
outHName = outDir++outHFile
outCName = outDir++outBase++"_hsc.c"
# -----------------------------------------------------------------------------
# To compile with nhc98 on unix:
-# nhc98 -cpp -DEXEEXT="\"\"" -package base -o hsc2hs-bin Main.hs
+# nhc98 -cpp -package base -o hsc2hs-bin Main.hs
TOP=../..
include $(TOP)/mk/boilerplate.mk
SRC_HC_OPTS += -package util
endif
-SRC_HC_OPTS += -Wall -cpp '-DEXEEXT="$(exeext)"'
+# Note: Somehow we should pass $(exeext) here, but the history of changes used
+# for calling the C preprocessor via GHC has changed a few times, making a
+# clean solution impossible. So we revert to a hack in Main.hs...
+SRC_HC_OPTS += -Wall -cpp
ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
SRC_HC_OPTS += -Dmingw32_HOST_OS=1
endif