X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fcabal.mk;h=079f8033ca1fe3c8038e48fe44e70aaea89fbab4;hb=961e2f0abe026258a25006f08e9bbaad25b1519a;hp=5e0de0d94dd173cdd223fe29e698e8914e6a0d74;hpb=4d7ecf304ab398c4aed110822cd934cb6dc071e3;p=ghc-hetmet.git diff --git a/mk/cabal.mk b/mk/cabal.mk index 5e0de0d..079f803 100644 --- a/mk/cabal.mk +++ b/mk/cabal.mk @@ -1,9 +1,8 @@ include $(TOP)/mk/cabal-flags.mk +include $(TOP)/mk/bindist.mk -# XXX We would like to turn this on, but Cabal generates paths files -# that are not -Wall clean! -# SRC_HC_OPTS += -Wall +SRC_HC_OPTS += -Wall ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32" INSTALL_FLAGS = @@ -15,15 +14,23 @@ INSTALL_FLAGS = endif endif +# Tell stage1 to make a dynamically-linked binary, but no wrapper. We assume +# that in an installation the shared libs will be installed somewhere that +# the system can find them. +ifeq "$(BuildSharedLibs)" "YES" +DYN_FLAGS = --ghc-option=-dynamic --ghc-option=-dynload --ghc-option=deploy +endif + .PHONY: default all with-bootstrapping-compiler with-stage-1 clean distclean default all: with-bootstrapping-compiler with-bootstrapping-compiler: - $(CABAL) configure --distpref dist-inplace \ - $(INPLACE_DIRS_CONFIGURE_FLAGS) \ - $(USE_BOOT_CONFIGURE_FLAGS) \ - $(COMMON_CONFIGURE_FLAGS) + $(CABAL) configure --distpref dist-inplace \ + $(INPLACE_DIRS_CONFIGURE_FLAGS) \ + $(USE_BOOT_CONFIGURE_FLAGS) \ + $(COMMON_CONFIGURE_FLAGS) \ + $(EXTRA_INPLACE_CONFIGURE_FLAGS) $(CABAL) build --distpref dist-inplace $(BUILD_FLAGS) $(CABAL) install --distpref dist-inplace $(INSTALL_FLAGS) @@ -31,8 +38,9 @@ with-stage-1: $(CABAL) configure --distpref dist-install \ $(INSTALL_DIRS_CONFIGURE_FLAGS) \ $(USE_STAGE1_CONFIGURE_FLAGS) \ - $(COMMON_CONFIGURE_FLAGS) - $(CABAL) build --distpref dist-install $(BUILD_FLAGS) + $(COMMON_CONFIGURE_FLAGS) \ + $(EXTRA_STAGE1_CONFIGURE_FLAGS) + $(CABAL) build --distpref dist-install $(DYN_FLAGS) $(BUILD_FLAGS) install: $(INSTALL_PACKAGE) install UNUSED UNUSED '$(DESTDIR)' '$(prefix)' \ @@ -42,14 +50,15 @@ install: --distpref dist-install \ $(INSTALL_FLAGS) -clean: distclean - -distclean: +clean: -$(CABAL) clean --distpref dist-inplace -$(CABAL) clean --distpref dist-install ifneq "$(EXTRA_CLEAN)" "" $(RM) -f $(EXTRA_CLEAN) endif -# XXX fix binary-dist +distclean: clean +ifneq "$(EXTRA_DISTCLEAN)" "" + $(RM) -f $(EXTRA_DISTCLEAN) +endif