GhcEnableTablesNextToCode=YES
endif
+# When building bindists we set this to yes so that the binaries are as
+# portable as possible.
+BeConservative = NO
+
#
# Building various ways?
# (right now, empty if not).
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
DEFAULT_TMPDIR = /C/TEMP
endif
-# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path. (POSIX / unix-style path).
+# FPTOOLS_TOP: the top of the fptools hierarchy, absolute path.
+# On Windows this is a c:/foo/bar style path.
FPTOOLS_TOP_ABS = @hardtop@
-# The platform specific version of 'hardtop'.
-FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@
-
-# This gets used in the default docdir
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
BIN_DIST_NAME=ghc-$(ProjectVersion)
-BIN_DIST_TOPDIR=$(FPTOOLS_TOP_ABS)
-BIN_DIST_DIR=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME)
-BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2
-
-#
-# Installation directories, we don't use half of these,
-# but since the configure script has them on offer while
-# passing through, we might as well set them.
+BIN_DIST_TOPDIR_REL=$(FPTOOLS_TOP)
+BIN_DIST_TOPDIR_ABS=$(FPTOOLS_TOP_ABS)
+BIN_DIST_DIR=$(BIN_DIST_TOPDIR_ABS)/$(BIN_DIST_NAME)
+BIN_DIST_TARBALL=$(BIN_DIST_TOPDIR_REL)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar.bz2
+
+BIN_DIST_INST_DIR = $(FPTOOLS_TOP_ABS)/bindisttest/installed
+
+# Definition of installation directories, we don't use half of these, but since
+# the configure script has them on offer while passing through, we might as well
+# set them. Note that we have to be careful, because the GNU coding standards
+# have changed a bit over the course of time, and autoconf development reflects
+# this.
+#
+# A little bit of history regarding autoconf and GNU coding standards, use this
+# as a cheat-sheet for the stuff below:
+#
+# variable | default < 2.60 | default >= 2.60
+# ------------+--------------------+--------------------------------------
+# exec_prefix | ${prefix} | ${prefix}
+# libdir | ${exec_prefix}/lib | ${exec_prefix}/lib
+# datarootdir | NONE! | ${prefix}/share
+# datadir | ${prefix}/share | ${datarootdir}
+# infodir | ${prefix}/info | ${datarootdir}/info
+# mandir | ${prefix}/man | ${datarootdir}/man
+# docdir | NONE! | ${datarootdir}/doc/${PACKAGE_TARNAME}
+# htmldir | NONE! | ${docdir}
+# dvidir | NONE! | ${docdir}
+# pdfdir | NONE! | ${docdir}
+# psdir | NONE! | ${docdir}
+#
+# NOTE: The default e.g. ${docdir} above means that autoconf substitutes the
+# string "${docdir}", not the value of docdir! This is crucial for the GNU
+# coding standards.
+
+# This gets used in the default docdir when autoconf >= 2.60 is used
+PACKAGE_TARNAME := @PACKAGE_TARNAME@
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.
-# datarootdir = @datarootdir@
+# 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"
-ifeq "$(strip $(prefix))" ""
-prefix = /c/ghc
-endif
-
# Hack: our directory layouts tend to be different on Windows, so
# hack around configure's bogus assumptions here.
datarootdir := $(prefix)
else
-#
# Unix: override libdir and datadir to put ghc-specific stuff in
# a subdirectory with the version number included.
-#
datarootdir := $(datadir0)
datadir := $(datadir0)/ghc-$(ProjectVersion)
libdir := $(libdir0)/ghc-$(ProjectVersion)
# (overriden for packages in package.mk)
ifacedir = $(libdir)
-#
-# Default values for most of the above are only set if
-# they weren't configured to anything in particular
-# via the configure script. (i.e., we make no assumption
-# that the autoconf-generated script will assign defaults
-# to all of the above).
-#
-ifeq "$(strip $(exec_prefix))" ""
-exec_prefix = $(prefix)
-endif
-ifeq "$(strip $(bindir))" ""
-bindir = $(exec_prefix)/bin
-endif
-
-#
# NOTE: by intention, libexecdir and libdir point to
# the same place.
# => Only way to override this is to set libexecdir= on the command line.
# (NOTE: configure script setting is ignored).
libexecdir = $(libdir)
-ifeq "$(strip $(datadir))" ""
-datadir = $(prefix)/share
-endif
-ifeq "$(strip $(libdir))" ""
-libdir = $(exec_prefix)/lib
-endif
-ifeq "$(strip $(includedir))" ""
-includedir = $(prefix)/include
-endif
-ifeq "$(strip $(oldincludedir))" ""
-oldincludedir = /usr/include
-endif
-ifeq "$(strip $(mandir))" ""
-mandir = $(prefix)/man
-endif
+# This is a bit of a lie, as this is a wrapper rather than the program
+# itself. However, it means that we don't have to worry about Windows
+# and non-Windows having different extensions.
+GHC_PKG_PROG = $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/ghc-pkg-inplace
#-----------------------------------------------------------------------------
# install configuration