X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=820c36cd900b40271eb66948c54ce5b0d0fb9d0a;hb=9c5b7a1e68fe6b30b64f481be9a11e3db3247c6a;hp=491f2d138271bdcacd8c8901e4a7b5896ed1697f;hpb=5c8d5090cfbb3b239c6ce17a27bcf65637296dd9;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index 491f2d1..820c36c 100644 --- a/ghc.mk +++ b/ghc.mk @@ -13,7 +13,6 @@ # ToDo List. # # * finish installation -# * other documentation # * create doc index and contents # * Windows: should we have ghc-pkg-? # * should we be stripping things? @@ -29,9 +28,7 @@ # * docs/vh/Makefile # * rts/dotnet/Makefile # * utils/Makefile -# * GhcProfiled # * optionally install stage3? -# * shared libraries, way dyn # * add Makefiles for the rest of the utils/ programs that aren't built # by default (need to exclude them from 'make all' too) # @@ -297,8 +294,12 @@ define addPackage # args: $1 = package, $2 = condition endef $(eval $(call addPackage,ghc-prim)) +ifeq "$(CLEANING)" "YES" $(eval $(call addPackage,integer-gmp)) -$(eval $(call addPackage,integer)) +$(eval $(call addPackage,integer-simple)) +else +$(eval $(call addPackage,$(INTEGER_LIBRARY))) +endif $(eval $(call addPackage,base)) $(eval $(call addPackage,filepath)) $(eval $(call addPackage,array)) @@ -505,8 +506,11 @@ BUILD_DIRS += \ endif endif +ifeq "$(INTEGER_LIBRARY)" "integer-gmp" +BUILD_DIRS += libraries/integer-gmp/gmp +endif + BUILD_DIRS += \ - libraries/integer-gmp/gmp \ compiler \ $(GHC_HSC2HS_DIR) \ $(GHC_PKG_DIR) \ @@ -535,6 +539,18 @@ ifneq "$(findstring $(phase),0 1 2)" "" ghc_stage1_DISABLE = YES endif +ifneq "$(CLEANING)" "YES" +ifeq "$(INTEGER_LIBRARY)" "integer-gmp" +libraries/base_dist-install_CONFIGURE_OPTS += --flags=-integer-simple +else + ifeq "$(INTEGER_LIBRARY)" "integer-simple" + libraries/base_dist-install_CONFIGURE_OPTS += --flags=integer-simple + else +$(error Unknown integer library: $(INTEGER_LIBRARY)) + endif +endif +endif + ifneq "$(findstring $(phase),0 1 2 3)" "" # In phases 0-3, we disable stage2-3, the full libraries and haddock utils/haddock_dist_DISABLE = YES @@ -662,7 +678,7 @@ libraries/ghc-prim/dist-install/build/autogen/GHC/PrimopWrappers.hs: \ # Installation install: install_packages install_libs install_libexecs install_headers \ - install_libexec_scripts install_bins + install_libexec_scripts install_bins install_docs install_bins: $(INSTALL_BINS) $(INSTALL_DIR) $(DESTDIR)$(bindir) @@ -710,6 +726,17 @@ install_headers: $(INSTALL_HEADERS) $(INSTALL_HEADER) $(INSTALL_OPTS) $$i $(DESTDIR)$(headerdir); \ done +install_docs: $(INSTALL_HEADERS) + $(INSTALL_DIR) $(DESTDIR)$(docdir) + for i in $(INSTALL_DOCS); do \ + $(INSTALL_DOC) $(INSTALL_OPTS) $$i $(DESTDIR)$(docdir); \ + done + $(INSTALL_DIR) $(INSTALL_OPTS) $(DESTDIR)$(docdir)/html; \ + for i in $(INSTALL_HTML_DOC_DIRS); do \ + $(INSTALL_DIR) $(INSTALL_OPTS) $(DESTDIR)$(docdir)/html/`basename $$i`; \ + $(INSTALL_DOC) $(INSTALL_OPTS) $$i/* $(DESTDIR)$(docdir)/html/`basename $$i`; \ + done + INSTALLED_PACKAGE_CONF=$(DESTDIR)$(libdir)/package.conf # Install packages in the right order, so that ghc-pkg doesn't complain. @@ -758,19 +785,29 @@ $(eval $(call bindist,.,\ $(INSTALL_LIBEXECS) \ $(INSTALL_LIBEXEC_SCRIPTS) \ $(INSTALL_BINS) \ + $(INSTALL_DOCS) \ + $(addsuffix /*,$(INSTALL_HTML_DOC_DIRS)) \ $(filter-out extra-gcc-opts,$(INSTALL_LIBS)) \ $(filter-out %/project.mk,$(filter-out mk/config.mk,$(MAKEFILE_LIST))) \ mk/fix_install_names.sh \ mk/project.mk \ + bindist.mk \ libraries/dph/LICENSE \ )) # mk/project.mk gets an absolute path, so we manually include it in # the bindist with a relative path +BIN_DIST_MK = $(BIN_DIST_NAME)/bindist.mk + binary-dist: "$(RM)" $(RM_OPTS) -r $(BIN_DIST_NAME) mkdir $(BIN_DIST_NAME) set -e; for i in LICENSE compiler ghc rts libraries utils docs libffi includes driver mk rules Makefile aclocal.m4 config.sub config.guess install-sh extra-gcc-opts.in ghc.mk inplace; do ln -s ../$$i $(BIN_DIST_NAME)/; done + echo "HADDOCK_DOCS = $(HADDOCK_DOCS)" >> $(BIN_DIST_MK) + echo "LATEX_DOCS = $(LATEX_DOCS)" >> $(BIN_DIST_MK) + echo "BUILD_DOCBOOK_HTML = $(BUILD_DOCBOOK_HTML)" >> $(BIN_DIST_MK) + echo "BUILD_DOCBOOK_PS = $(BUILD_DOCBOOK_PS)" >> $(BIN_DIST_MK) + echo "BUILD_DOCBOOK_PDF = $(BUILD_DOCBOOK_PDF)" >> $(BIN_DIST_MK) ln -s ../distrib/configure-bin.ac $(BIN_DIST_NAME)/configure.ac cd $(BIN_DIST_NAME) && autoreconf "$(RM)" $(RM_OPTS) $(BIN_DIST_TAR) @@ -795,6 +832,10 @@ ifeq "$(mingw32_TARGET_OS)" "1" $(call nTimes,10,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist) endif +.PHONY: publish-docs +publish-docs: + $(call nTimes,10,$(PublishCp) -r bindisttest/installed/share/doc/ghc/* $(PublishLocation)/docs) + # ----------------------------------------------------------------------------- # Source distributions