X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc.mk;h=f770d221406c107e4873da979406f26da5f17afc;hp=768ff156a4a8c769a34a32e6feccc041510c325f;hb=0e04bfecd870305bdf5945ba3ab80f314c708265;hpb=0ca48da78f669b18a574dc18e8b20b5393526b1d diff --git a/ghc.mk b/ghc.mk index 768ff15..f770d22 100644 --- 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"