make the GhcThreaded setting lazy, because GhcUnregisterised might not be set yet
[ghc-hetmet.git] / mk / config.mk.in
index a670cd5..c716ab0 100644 (file)
@@ -357,11 +357,7 @@ endif
 GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_p thr_debug,)
 
 # We can only build GHCi threaded if we have a threaded RTS:
-ifneq "$(findstring thr, $(GhcRTSWays))" ""
-GhcThreaded=YES
-else
-GhcThreaded=NO
-endif
+GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO)
 
 # Option flags to pass to GHC when it's compiling modules in
 # fptools/libraries.  Typically these are things like -O or
@@ -519,15 +515,22 @@ BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2
 # but since the configure script has them on offer while
 # passing through, we might as well set them.
 
-prefix                 = @prefix@
-datarootdir            = @datarootdir@
-exec_prefix            = @exec_prefix@
-bindir                 = @bindir@
-datadir0               = @datadir@
-libdir0                        = @libdir@
-includedir             = @includedir@
-oldincludedir          = @oldincludedir@
-mandir                 = @mandir@
+prefix          := @prefix@
+
+# New autoconf (>= 2.60?) make a configure with a --datarootdir=DIR flag.
+# However, in order to support older autoconf's we don't use it.
+# datarootdir is set lower down instead.
+# But, as datadir is defined in terms of datarootdir, we also need to
+# set it to the value (if any) that configure gives it here.
+datarootdir     := @datarootdir@
+
+exec_prefix     := @exec_prefix@
+bindir          := @bindir@
+datadir0        := @datadir@
+libdir0         := @libdir@
+includedir      := @includedir@
+oldincludedir   := @oldincludedir@
+mandir          := @mandir@
 
 ifeq "$(Windows)" "YES"
 
@@ -537,8 +540,9 @@ endif
 
 # Hack: our directory layouts tend to be different on Windows, so
 # hack around configure's bogus assumptions here.
-datadir        = $(prefix)
-libdir         = $(prefix)
+datarootdir := $(prefix)
+datadir     := $(prefix)
+libdir      := $(prefix)
 
 else
 
@@ -546,27 +550,28 @@ else
 # Unix: override libdir and datadir to put ghc-specific stuff in
 # a subdirectory with the version number included.
 #
-libdir     = $(libdir0)/ghc-$(ProjectVersion)
-datadir    = $(datadir0)/ghc-$(ProjectVersion)
+datarootdir := $(datadir0)
+datadir     := $(datadir0)/ghc-$(ProjectVersion)
+libdir      := $(libdir0)/ghc-$(ProjectVersion)
 
 endif # Windows
 
-headerdir = $(libdir)/include
+headerdir := $(libdir)/include
 
 # New autoconf (>= 2.60?) make a configure with --docdir=DIR etc flags.
 # However, in order to support older autoconf's we don't use them.
 
-#docdir    = @docdir@
-#htmldir   = @htmldir@
-#dvidir    = @dvidir@
-#pdfdir    = @pdfdir@
-#psdir     = @psdir@
-
-docdir    = $(datarootdir)/doc/ghc
-htmldir   = $(docdir)
-dvidir    = $(docdir)
-pdfdir    = $(docdir)
-psdir     = $(docdir)
+#docdir    := @docdir@
+#htmldir   := @htmldir@
+#dvidir    := @dvidir@
+#pdfdir    := @pdfdir@
+#psdir     := @psdir@
+
+docdir    := $(datarootdir)/doc/ghc
+htmldir   := $(docdir)
+dvidir    := $(docdir)
+pdfdir    := $(docdir)
+psdir     := $(docdir)
 
 # Default place for putting interface files is $(libdir)
 # (overriden for packages in package.mk)