Type families: new algorithm to solve equalities
[ghc-hetmet.git] / mk / cabal-flags.mk
index 4e61c66..2e74357 100644 (file)
@@ -2,6 +2,8 @@
 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
@@ -15,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)" ""
@@ -28,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
@@ -89,3 +88,37 @@ USE_STAGE2_CONFIGURE_FLAGS =            \
 
 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
+