Remove the Unicode alternative for ".." (#3894)
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 768ff15..f770d22 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -494,6 +494,7 @@ endif
 
 BUILD_DIRS += \
    docs/users_guide \
+   docs/ext-core \
    docs/man \
    libraries/Cabal/doc \
    $(GHC_UNLIT_DIR) \
@@ -624,9 +625,7 @@ include $(patsubst %, %/ghc.mk, $(BUILD_DIRS))
 
 # We need -fno-warn-deprecated-flags to avoid failure with -Werror
 GhcLibHcOpts += -fno-warn-deprecated-flags
-ifeq "$(ghc_ge_609)" "YES"
 GhcBootLibHcOpts += -fno-warn-deprecated-flags
-endif
 
 # Add $(GhcLibHcOpts) to all library builds
 $(foreach pkg,$(PACKAGES) $(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS += $$(GhcLibHcOpts)))
@@ -751,12 +750,15 @@ libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs: \
 .PHONY: tags
 tags: tags_compiler
 
+.PHONY: TAGS
+TAGS: TAGS_compiler
+
 # -----------------------------------------------------------------------------
 # Installation
 
 install: install_packages install_libs install_libexecs install_headers \
          install_libexec_scripts install_bins install_docs \
-                install_topdirs install_topdir_scripts
+                install_topdirs
 
 install_bins: $(INSTALL_BINS)
        $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
@@ -805,12 +807,6 @@ else
        "$(MV)" "$(DESTDIR)$(ghclibexecdir)/ghc-stage2" "$(DESTDIR)$(ghclibexecdir)/ghc"
 endif
 
-install_topdir_scripts: $(INSTALL_TOPDIR_SCRIPTS)
-       $(INSTALL_DIR) "$(DESTDIR)$(topdir)"
-       for i in $(INSTALL_TOPDIR_SCRIPTS); do \
-               $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i "$(DESTDIR)$(topdir)"; \
-       done
-
 install_topdirs: $(INSTALL_TOPDIRS)
        $(INSTALL_DIR) "$(DESTDIR)$(topdir)"
        for i in $(INSTALL_TOPDIRS); do \
@@ -859,7 +855,11 @@ INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
 INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
 endif
 
-INSTALLED_PACKAGES = $(filter-out haskeline mtl terminfo,$(PACKAGES))
+INSTALLED_PACKAGES := $(filter-out haskeline mtl terminfo utf8-string,$(PACKAGES))
+ifeq "$(InstallExtraPackages)" "NO"
+INSTALLED_PACKAGES := $(filter-out $(EXTRA_PACKAGES), $(INSTALLED_PACKAGES))
+endif
+
 HIDDEN_PACKAGES = binary
 
 define set_INSTALL_DISTDIR
@@ -916,6 +916,7 @@ $(eval $(call bindist,.,\
     $(INPLACE_BIN)/ghc-cabal \
     utils/ghc-pwd/ghc-pwd \
        $(BINDIST_WRAPPERS) \
+       $(BINDIST_PERL_SOURCES) \
        $(BINDIST_LIBS) \
        $(BINDIST_HI) \
        $(BINDIST_EXTRAS) \
@@ -928,7 +929,6 @@ $(eval $(call bindist,.,\
     $(INSTALL_LIBEXECS) \
     $(INSTALL_LIBEXEC_SCRIPTS) \
     $(INSTALL_TOPDIRS) \
-    $(INSTALL_TOPDIR_SCRIPTS) \
     $(INSTALL_BINS) \
     $(INSTALL_MANPAGES) \
     $(INSTALL_DOCS) \
@@ -937,6 +937,7 @@ $(eval $(call bindist,.,\
        docs/index.html \
        compiler/stage2/doc \
        $(wildcard libraries/*/dist-install/doc/) \
+       $(wildcard libraries/*/*/dist-install/doc/) \
     $(filter-out extra-gcc-opts,$(INSTALL_LIBS)) \
     $(filter-out %/project.mk mk/config.mk %/mk/install.mk,$(MAKEFILE_LIST)) \
        mk/project.mk \
@@ -980,18 +981,30 @@ else
        "$(ISCC)" /O. /Fbindistprep/$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss
 endif
 
-nTimes = set -e; for i in `seq 1 $(1)`; do echo Try "$$i: $(2)"; if $(2); then break; fi; done
+# tryTimes tries to run its third argument multiple times, until it
+# succeeds. Don't call it directly; call try10Times instead.
+# The first and second argument to tryTimes are lists of values.
+# The length of the first argument is the number of times we have
+# already tried. The length of the second argument is the number more
+# times we will try.
+tryTimes = $(if $2, \
+                { echo 'Try $(words x $1): $3' ; $3 ; } || \
+                $(call tryTimes,x $1,$(wordlist 2,$(words $2),$2),$3), \
+                )
+
+# Try to run the argument 10 times. If all 10 fail, fail.
+try10Times = $(call tryTimes,,x x x x x x x x x x,$1) { echo Failed; false; }
 
 .PHONY: publish-binary-dist
 publish-binary-dist:
-       $(call nTimes,10,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist)
+       $(call try10Times,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist)
 ifeq "$(mingw32_TARGET_OS)" "1"
-       $(call nTimes,10,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist)
+       $(call try10Times,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist)
 endif
 
 .PHONY: publish-docs
 publish-docs:
-       $(call nTimes,10,$(PublishCp) -r bindisttest/installed/share/doc/ghc/* $(PublishLocation)/docs)
+       $(call try10Times,$(PublishCp) -r bindisttest/installed/share/doc/ghc/* $(PublishLocation)/docs)
 
 # -----------------------------------------------------------------------------
 # Source distributions
@@ -1062,8 +1075,8 @@ sdist-prep :
        $(call sdist_file,utils/hpc,dist,,,HpcParser,y)
        $(call sdist_file,utils/genprimopcode,dist,,,Lexer,x)
        $(call sdist_file,utils/genprimopcode,dist,,,Parser,y)
-       $(call sdist_file,utils/haddock,dist,src,Haddock/Interface,Lex,x)
-       $(call sdist_file,utils/haddock,dist,src,Haddock/Interface,Parse,y)
+       $(call sdist_file,utils/haddock,dist,src,Haddock,Lex,x)
+       $(call sdist_file,utils/haddock,dist,src,Haddock,Parse,y)
        cd $(SRC_DIST_DIR) && "$(RM)" $(RM_OPTS) -r compiler/stage[123] mk/build.mk
        cd $(SRC_DIST_DIR) && "$(FIND)" $(SRC_DIST_DIRS) \( -name _darcs -o -name SRC -o -name "autom4te*" -o -name "*~" -o -name ".cvsignore" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" -o -name "*-darcs-backup*" \) -print | "$(XARGS)" $(XARGS_OPTS) "$(RM)" $(RM_OPTS) -r
 
@@ -1079,7 +1092,7 @@ sdist-manifest : $(SRC_DIST_TARBALL)
 # over SSH.
 ifneq "$(PublishLocation)" ""
 publish-sdist :
-       $(call nTimes,10,$(PublishCp) $(SRC_DIST_TARBALL) $(PublishLocation)/dist)
+       $(call try10Times,$(PublishCp) $(SRC_DIST_TARBALL) $(PublishLocation)/dist)
 endif
 
 ifeq "$(BootingFromHc)" "YES"