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.
$(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)" ""
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
COMMON_CONFIGURE_FLAGS += $(FLAGGED_CONFIGURE_ARGS) \
--configure-option=--with-cc=$(CC)
-COMMON_CONFIGURE_FLAGS += $(shell [ -e $(HSC2HS_INPLACE) ] && \
+COMMON_CONFIGURE_FLAGS += $(shell [ -f $(HSC2HS_INPLACE) ] && \
echo --with-hsc2hs=$(HSC2HS_INPLACE) )
ifeq "$(Windows)" "YES"
--libdir=$(NONEXISTENT) \
--libexecdir=$(NONEXISTENT) \
--datadir=$(NONEXISTENT) \
- --datasubdir=. \
--docdir=$(NONEXISTENT) \
--haddockdir=$(NONEXISTENT) \
--htmldir=$(NONEXISTENT)
-INPLACE_DIRS_CONFIGURE_FLAGS = \
- --prefix=`$(FPTOOLS_TOP_ABS)/utils/pwd/pwd forwardslash`/install-inplace \
+INPLACE_GHC_DATADIR_CONFIGURE_FLAGS = \
--datadir=$(FPTOOLS_TOP_ABS)/inplace-datadir \
--datasubdir=.
+INPLACE_DIRS_CONFIGURE_FLAGS = \
+ --prefix=`$(FPTOOLS_TOP_ABS)/utils/pwd/pwd forwardslash`/install-inplace
+
USE_BOOT_CONFIGURE_FLAGS = \
--with-compiler=$(GHC) \
--with-hc-pkg=$(GHC_PKG) \
--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
+