#
XMLDocWays=
-# Should we build haddock docs?
-HADDOCK_DOCS = YES
+# Should we build latex docs?
+LATEX_DOCS = NO
# Mac OS X deployment target (to cross-compile for older OS versions)
#
GhcProfiled=NO
GhcDebugged=NO
-GhcLibProfiled=NO
+GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO)
# Build shared and/or static libs?
BuildSharedLibs=@BuildSharedLibs@
#
# Target platforms supported:
# i386, powerpc
-# sparc has bitrotted
# AIX is not supported
-ArchSupportsNCG=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc)))
+ArchSupportsNCG=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc sparc)))
OsSupportsNCG=$(strip $(patsubst $(HostOS_CPP), YES, $(patsubst aix,,$(HostOS_CPP))))
# lazy test, because $(GhcUnregisterised) might be set in build.mk later.
# thr_debug_p : debugging threaded profiled
# t : ticky-ticky profiling
# debug_t : debugging ticky-ticky profiling
+# l : event logging
+# thr_l : threaded and event logging
+# thr_debug_l : threaded and debugging and event logging
#
-GhcRTSWays=
+GhcRTSWays=l
# Usually want the debug version
ifeq "$(BootingFromHc)" "NO"
endif
ifeq "$(BuildSharedLibs)" "YES"
-GhcRTSWays += debug_dyn thr_dyn thr_debug_dyn
+GhcRTSWays += dyn debug_dyn thr_dyn thr_debug_dyn
endif
# Want the threaded versions unless we're unregisterised
# Defer the check until later by using $(if..), because GhcUnregisterised might
# be set in build.mk, which hasn't been read yet.
-GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_p thr_debug,)
+GhcRTSWays += $(if $(findstring NO, $(GhcUnregisterised)),thr thr_debug thr_l,)
+GhcRTSWays += $(if $(findstring p, $(GhcLibWays)),$(if $(findstring NO, $(GhcUnregisterised)),thr_p,),)
# We can only build GHCi threaded if we have a threaded RTS:
GhcThreaded = $(if $(findstring thr,$(GhcRTSWays)),YES,NO)
# system needs to do other special magic if you are
# doing object-file splitting
+ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO))
+
# lazy test, so that $(GhcUnregisterised) can be set in build.mk
-SplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),\
- $(if $(filter YES,$(BootingFromHC)),\
- NO,\
- $(if $(filter NO,$(GhcUnregisterised)),\
- YES,\
- NO)),\
- NO))
+SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\
+ $(if $(filter NO,$(BootingFromHc)),\
+ $(if $(filter NO,$(GhcUnregisterised)),\
+ YES,\
+ NO),\
+ NO),\
+ NO))
+
+# By default, enable SplitObjs for the libraries if this build supports it
+SplitObjs=$(SupportsSplitObjs)
# Math library
LIBM=@LIBM@
# .NET interop support?
#
-DotnetSupport=@DotnetSupport@
+DotnetSupport=NO
# Build unix package?
#
BIN_DIST_DIR=$(BIN_DIST_TOPDIR_ABS)/$(BIN_DIST_NAME)
BIN_DIST_NAME=ghc-$(ProjectVersion)
-BIN_DIST_TAR=$(FPTOOLS_TOP_ABS)/$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar
+BIN_DIST_TAR=$(BIN_DIST_NAME)-$(TARGETPLATFORM).tar
BIN_DIST_TAR_BZ2=$(BIN_DIST_TAR).bz2
BIN_DIST_PREP_DIR=$(FPTOOLS_TOP_ABS)/bindist-prep
BIN_DIST_PREP=$(BIN_DIST_PREP_DIR)/$(BIN_DIST_NAME)
# some variables appropriately:
HC =$(GHC_STAGE1)
MKDEPENDHS =$(GHC_STAGE1)
+USE_NEW_MKDEPEND_FLAGS = YES
GhcVersion = @ProjectVersion@
GhcPatchLevel = @ProjectPatchLevel@
# oops, these are wrong:
GhcMajVersion = @GhcMajVersion@
GhcMinVersion = @GhcMinVersion@
-ghc_ge_605 = YES
ghc_ge_607 = YES
ghc_ge_609 = YES
else # not UseStage1 or BootingFromHc
+# Some useful GHC version predicates:
+ghc_ge_607 = @ghc_ge_607@
+ghc_ge_609 = @ghc_ge_609@
+
HC = @WithHc@
MKDEPENDHS = $(GHC)
+USE_NEW_MKDEPEND_FLAGS = $(ghc_ge_609)
GhcVersion = @GhcVersion@
GhcPatchLevel = @GhcPatchLevel@
GhcMajVersion = @GhcMajVersion@
# when $(HC) does *not* point to one of the GHC binaries built in
# the local tree.
#
-BOOTSTRAPPING_PACKAGE_CONF_HC_OPTS =$(if $(findstring $(GHC_COMPILER_DIR_ABS), $(HC)),,-package-conf $(BOOTSTRAPPING_CONF))
-BOOTSTRAPPING_PACKAGE_CONF_MKDEPENDHS_OPTS =$(if $(findstring $(GHC_COMPILER_DIR_ABS), $(MKDEPENDHS)),,-package-conf $(BOOTSTRAPPING_CONF))
-
-# Some useful GHC version predicates:
-ghc_ge_605 = @ghc_ge_605@
-ghc_ge_607 = @ghc_ge_607@
-ghc_ge_609 = @ghc_ge_609@
+BOOTSTRAPPING_PACKAGE_CONF_HC_OPTS =$(if $(findstring inplace, $(HC)),,-package-conf $(BOOTSTRAPPING_CONF))
+BOOTSTRAPPING_PACKAGE_CONF_MKDEPENDHS_OPTS =$(if $(findstring inplace, $(MKDEPENDHS)),,-package-conf $(BOOTSTRAPPING_CONF))
endif
# Canonicalised ghc version number, used for easy (integer) version
#
GHC_ALEX_OPTS = -g
+# Should we build haddock docs?
+HADDOCK_DOCS = YES
+# And HsColour the sources?
+ifeq "$(HSCOLOUR)" ""
+HSCOLOUR_SRCS = NO
+else
+HSCOLOUR_SRCS = YES
+endif
+
#
# Options for compiling in different `ways'.
#
WAY_t_NAME=ticky-ticky profiling
WAY_t_HC_OPTS= -ticky
+# Way 'l':
+WAY_l_NAME=event logging
+WAY_l_HC_OPTS= -eventlog
+
# Way `mp':
WAY_mp_NAME=parallel
WAY_mp_HC_OPTS=-parallel
WAY_thr_p_NAME=threaded profiled
WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
+# Way 'thr_l':
+WAY_thr_l_NAME=threaded event logging
+WAY_thr_l_HC_OPTS=-optc-DTHREADED_RTS -eventlog
+
# Way 'debug':
WAY_debug_NAME=debug
WAY_debug_HC_OPTS=-optc-DDEBUG
WAY_thr_debug_p_NAME=threaded debug profiling
WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof
+# Way 'thr_debug_l':
+WAY_thr_debug_l_NAME=threaded debug event logging
+WAY_thr_debug_l_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -eventlog
+
# Way 'dyn': build dynamic shared libraries
WAY_dyn_NAME=dyn
WAY_dyn_HC_OPTS=-fPIC -dynamic