X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fcabal.mk;h=1ae6cba4b84bca95add483689ef0504013e50b79;hb=27de38efce6d73d2a0209f803cfa98c82773e773;hp=5e0de0d94dd173cdd223fe29e698e8914e6a0d74;hpb=4d7ecf304ab398c4aed110822cd934cb6dc071e3;p=ghc-hetmet.git diff --git a/mk/cabal.mk b/mk/cabal.mk index 5e0de0d..1ae6cba 100644 --- a/mk/cabal.mk +++ b/mk/cabal.mk @@ -1,5 +1,6 @@ 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! @@ -15,15 +16,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 +40,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)' \ @@ -51,5 +61,3 @@ ifneq "$(EXTRA_CLEAN)" "" $(RM) -f $(EXTRA_CLEAN) endif -# XXX fix binary-dist -