String literal cpp syms

Donald Bruce Stewart dons at cse.unsw.edu.au
Sun Aug 29 22:04:29 EDT 2004


Hey all,

Some cpp/sh goop. 

HEAD fails to build quite early on, on OpenBSD/i386 with sh, due to
double-quotes disappearing in cpp sym definitions. The result is no
quotes in the .hs file, so ghc stops with the following:

        Main.hs:87:
            No instance for (Fractional String)
              arising from the literal `6.3' at Main.hs:87
            In the definition of `version': version = 6.3
        gmake: *** [Main.o] Error 1

The following patch fixes the problem, by using the escaped version of
the shell string. I'm not sure why we couldn't use the escaped version
by default on (at least) all unixy systems. Sigbjorn?

-- Don

Index: ghc/utils/ghc-pkg/Makefile
===================================================================
RCS file: /cvs/fptools/ghc/utils/ghc-pkg/Makefile,v
retrieving revision 1.25
diff -u -u -r1.25 Makefile
--- ghc/utils/ghc-pkg/Makefile	25 Aug 2004 17:14:55 -0000	1.25
+++ ghc/utils/ghc-pkg/Makefile	30 Aug 2004 01:49:05 -0000
@@ -14,11 +14,7 @@
 
 SRC_HC_OPTS      += -cpp -DPKG_TOOL -DWANT_PRETTY
 
-ifeq "$(HOSTPLATFORM)$(ghc_le_600)" "i386-unknown-mingw32YES"
 SRC_HC_OPTS += -D'GHC_PKG_VERSION=\"$(ProjectVersion)\"'
-else
-SRC_HC_OPTS += -D'GHC_PKG_VERSION="$(ProjectVersion)"'
-endif
 
 ifeq "$(ghc_ge_504)" "NO"
 SRC_HC_OPTS +=  -package lang -package util -package text


More information about the Cvs-ghc mailing list