Fix non-portable regexp
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index f345405..d23f254 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -686,26 +686,11 @@ endif
 
 ifeq "$(Windows)" "YES"
 
-# directories don't work well as dependencies, hence a stamp file
-$(INPLACE)/stamp-mingw : $(MKDIRHIER)
-       $(MKDIRHIER) $(INPLACE_MINGW)/bin
-       GCC=`type -p $(WhatGccIsCalled)`; \
-       GccDir=`dirname $$GCC`; \
-       "$(CP)" -p $$GccDir/{gcc.exe,ar.exe,as.exe,dlltool.exe,dllwrap.exe,windres.exe} $(INPLACE_MINGW)/bin; \
-       "$(CP)" -Rp $$GccDir/../include $(INPLACE_MINGW); \
-       "$(CP)" -Rp $$GccDir/../lib     $(INPLACE_MINGW); \
-       "$(CP)" -Rp $$GccDir/../libexec $(INPLACE_MINGW); \
-       "$(CP)" -Rp $$GccDir/../mingw32 $(INPLACE_MINGW)
-       touch $(INPLACE)/stamp-mingw
-
 install : install_mingw
 .PHONY: install_mingw
 install_mingw : $(INPLACE_MINGW)
        "$(CP)" -Rp $(INPLACE_MINGW) $(prefix)
 
-$(INPLACE_LIB)/perl.exe $(INPLACE_LIB)/perl56.dll :
-       "$(CP)" $(GhcDir)../{perl.exe,perl56.dll} $(INPLACE_LIB)
-
 endif # Windows
 
 libraries/ghc-prim/dist-install/doc/html/ghc-prim/ghc-prim.haddock: \
@@ -831,6 +816,21 @@ endif
 INSTALLED_PACKAGES = $(filter-out haskeline mtl terminfo,$(PACKAGES))
 HIDDEN_PACKAGES = binary
 
+define set_INSTALL_DISTDIR
+# $1 = libraries/base, $2 = dist-install
+# =>
+# INSTALL_DISTDIR_libraries/base = dist-install
+INSTALL_DISTDIR_$1 = $2
+endef
+
+$(eval $(foreach p,$(INSTALLED_PACKAGES) $(PACKAGES_STAGE2),\
+$(call set_INSTALL_DISTDIR,libraries/$p,dist-install)))
+INSTALL_DISTDIR_compiler = stage2
+
+ALL_INSTALLED_PACKAGES = $(addprefix libraries/,$(INSTALLED_PACKAGES)) \
+                         compiler \
+                         $(addprefix libraries/,$(PACKAGES_STAGE2))
+
 install_packages: install_libexecs
 install_packages: libffi/package.conf.install rts/package.conf.install
        $(INSTALL_DIR) $(DESTDIR)$(topdir)
@@ -838,24 +838,17 @@ install_packages: libffi/package.conf.install rts/package.conf.install
        $(INSTALL_DIR) $(INSTALLED_PACKAGE_CONF)
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf $(INSTALLED_PACKAGE_CONF) update libffi/package.conf.install
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf $(INSTALLED_PACKAGE_CONF) update rts/package.conf.install
-       $(foreach p, $(INSTALLED_PACKAGES) $(PACKAGES_STAGE2),\
+       $(foreach p, $(ALL_INSTALLED_PACKAGES),\
            "$(GHC_CABAL_INPLACE)" install \
                 $(INSTALLED_GHC_REAL) \
                 $(INSTALLED_GHC_PKG_REAL) \
                 $(DESTDIR)$(topdir) \
-                libraries/$p dist-install \
+                $p $(INSTALL_DISTDIR_$p) \
                 '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \
                 $(RelocatableBuild) &&) true
        $(foreach p, $(HIDDEN_PACKAGES),\
            $(INSTALLED_GHC_PKG_REAL) --global-conf $(INSTALLED_PACKAGE_CONF) \
                                      hide $p &&) true
-       "$(GHC_CABAL_INPLACE)" install \
-                $(INSTALLED_GHC_REAL) \
-                $(INSTALLED_GHC_PKG_REAL) \
-                $(DESTDIR)$(topdir) \
-                compiler stage2 \
-                '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \
-                $(RelocatableBuild)
 
 # -----------------------------------------------------------------------------
 # Binary distributions