X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fcabal-flags.mk;h=2e743574cbe937313d5e62e99f96a163fd9caf7e;hb=c4ec8f2a77894af1c6160c4e8ad5625ab62f0bea;hp=ae6a6c3c4970349230e3b6eb8142cf1688e0630d;hpb=5c9f239daf46aaa73e12c8b948659fa5cd7e77fb;p=ghc-hetmet.git diff --git a/mk/cabal-flags.mk b/mk/cabal-flags.mk index ae6a6c3..2e74357 100644 --- a/mk/cabal-flags.mk +++ b/mk/cabal-flags.mk @@ -2,11 +2,14 @@ nothing= space=$(nothing) $(nothing) +GHC_PKG_INSTALL_PROG = $(FPTOOLS_TOP_ABS)/utils/ghc-pkg/dist-install/build/ghc-pkg/ghc-pkg + LIBRARIES_ABS = $(FPTOOLS_TOP_ABS)/libraries UTILS_ABS = $(FPTOOLS_TOP_ABS)/utils CABAL = $(LIBRARIES_ABS)/cabal-bin $(GHC) $(LIBRARIES_ABS)/bootstrapping.conf INSTALL_PACKAGE = \ $(UTILS_ABS)/installPackage/install-inplace/bin/installPackage +STAGE3_PACKAGE_CONF = $(FPTOOLS_TOP_ABS)/stage3.package.conf # We rely on all the CONFIGURE_ARGS being quoted with '...', and there # being no 's inside the values. @@ -14,9 +17,10 @@ FLAGGED_CONFIGURE_ARGS = $(subst $(space)',\ $(space)--configure-option=',\ $(space)$(CONFIGURE_ARGS)) -COMMON_CONFIGURE_FLAGS = \ - --libsubdir='$$pkgid' \ - --with-ld=$(LD) \ +COMMON_CONFIGURE_FLAGS = \ + --libsubdir='$$pkgid' \ + --with-gcc=$(WhatGccIsCalled) \ + --with-ld=$(LD) \ $(addprefix --hsc2hs-option=,$(SRC_HSC2HS_OPTS)) ifneq "$(HSCOLOUR)" "" @@ -27,10 +31,6 @@ ifneq "$(ALEX)" "" COMMON_CONFIGURE_FLAGS += --with-alex=$(ALEX) endif -ifneq "$(HADDOCK)" "" -COMMON_CONFIGURE_FLAGS += --with-haddock=$(HADDOCK) -endif - ifneq "$(HAPPY)" "" COMMON_CONFIGURE_FLAGS += --with-happy=$(HAPPY) endif @@ -81,9 +81,44 @@ USE_STAGE1_CONFIGURE_FLAGS = \ --with-compiler=$(GHC_STAGE1) \ $(USE_STAGE_CONFIGURE_FLAGS) -USE_STAGE2_CONFIGURE_FLAGS = \ - --with-compiler=$(GHC_STAGE2) \ - $(USE_STAGE_CONFIGURE_FLAGS) +USE_STAGE2_CONFIGURE_FLAGS = \ + --with-compiler=$(GHC_STAGE2) \ + $(USE_STAGE_CONFIGURE_FLAGS) \ + --package-db $(STAGE3_PACKAGE_CONF) BUILD_FLAGS = $(addprefix --ghc-option=,$(SRC_HC_OPTS)) + +# We now define various i* variables, which are used for the paths +# when installing Cabal libraries +ifeq "$(RelocatableBuild)" "YES" +# On Windows we want to make moveable bindists, but we need to tell +# ghc-pkg where the haddock docs are. Therefore we completely ignore +# where the user tells us to put the haddock documentation and put it +# somewhere whose relative location we know. When installing we need +# to give Cabal a real path, though. +iprefix = $$topdir +ibindir = $$topdir +ilibdir = $$topdir +ilibexecdir = $$topdir +idynlibdir = $$topdir +idatadir = $$topdir +idocdir = $$topdir/doc/libraries/$$pkg +ihaddockdir = $$topdir/doc/libraries/$$pkg +ihtmldir = $$httptopdir/doc/libraries/$$pkg +html_installed_root = $(prefix)/doc/libraries +else +# On non-Windows we can just give absolute paths all the time, and +# thus obey the htmldir that we are given. +iprefix = $(prefix) +ibindir = $(bindir) +ilibdir = $(libdir) +ilibexecdir = $(libexecdir) +idynlibdir = $(dynlibdir) +idatadir = $(datadir) +idocdir = $(docdir)/libraries/$$pkg +ihaddockdir = $(htmldir)/libraries/$$pkg +ihtmldir = $(htmldir)/libraries/$$pkg +html_installed_root = $(htmldir)/libraries +endif +