X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fcabal.mk;h=079f8033ca1fe3c8038e48fe44e70aaea89fbab4;hb=0da51cdd6404332ba6531364e6b7de30cbc0333a;hp=f8d2b7b091c729ac876340607795dd8e685c1984;hpb=5c9f239daf46aaa73e12c8b948659fa5cd7e77fb;p=ghc-hetmet.git diff --git a/mk/cabal.mk b/mk/cabal.mk index f8d2b7b..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,6 +14,13 @@ 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 @@ -34,7 +40,7 @@ with-stage-1: $(USE_STAGE1_CONFIGURE_FLAGS) \ $(COMMON_CONFIGURE_FLAGS) \ $(EXTRA_STAGE1_CONFIGURE_FLAGS) - $(CABAL) build --distpref dist-install $(BUILD_FLAGS) + $(CABAL) build --distpref dist-install $(DYN_FLAGS) $(BUILD_FLAGS) install: $(INSTALL_PACKAGE) install UNUSED UNUSED '$(DESTDIR)' '$(prefix)' \ @@ -44,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