Improve pretty-printing for HsExpr
[ghc-hetmet.git] / compiler / Makefile
index e3407f5..69fd1fd 100644 (file)
@@ -124,7 +124,8 @@ ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
        done
 else
        for i in */*hi-boot*; do \
-           $(LN_S) -f ../../$$i stage$(stage)/$$i || true ; \
+           ($(RM) -f stage$(stage)/$$i \
+              && $(LN_S) ../../$$i stage$(stage)/$$i) || true ; \
        done
 endif
 endif
@@ -515,6 +516,16 @@ SRC_HC_OPTS += -package Cabal
 PKG_DEPENDS += Cabal
 endif
 
+# We use Text.Regex which is in regex-compat with GHC 6.6+
+ifeq "$(bootstrapped)" "YES"
+SRC_HC_OPTS += -package regex-compat
+PKG_DEPENDS += regex-compat
+else
+ifeq "$(ghc_ge_605)" "YES"
+SRC_HC_OPTS += -package regex-compat
+endif
+endif
+
 ifeq "$(ghc_ge_603)" "YES"
 # Ignore lang, to avoid potential clash with the Generics module if
 # lang happens to be a dependency of some exposed package in the local
@@ -567,18 +578,14 @@ utils/Digraph_HC_OPTS             = -fglasgow-exts
 
 basicTypes/SrcLoc_HC_OPTS      = -funbox-strict-fields
 
-ifeq "$(bootstrapped)" "YES"
-utils/Binary_HC_OPTS           = -funbox-strict-fields
-endif
-
 # We always optimise some low-level modules, otherwise performance of
 # a non-optimised compiler is severely affected.
 main/BinIface_HC_OPTS          += -O
-utils/Binary_HC_OPTS           += -O
+utils/Binary_HC_OPTS           += -O -funbox-strict-fields
 utils/FastMutInt_HC_OPTS       += -O
 utils/Encoding_HC_OPTS         += -O
-utils/StringBuffer_HC_OPTS     += -O
-utils/FastString_HC_OPTS       += -O
+utils/StringBuffer_HC_OPTS     += -O -funbox-strict-fields
+utils/FastString_HC_OPTS       += -O -funbox-strict-fields
 
 # ---- Profiling ----
 #simplCore/Simplify_HC_OPTS = -auto-all
@@ -702,7 +709,7 @@ $(odir)/ghc-inplace : $(GHC_PROG)
        chmod 755 $@
 
 ghc-inplace : stage1/ghc-inplace
-       $(LN_S) -f $< $@
+       $(RM) -f $@ && $(LN_S) $< $@
 
 ifeq "$(stage)" "1"
 CLEAN_FILES += ghc-inplace