GhcStage2HcOpts=-O2
GhcStage3HcOpts=-O2
-GhcProfiled=NO
GhcDebugged=NO
GhcDynamic=NO
-GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO)
+
+# GhcProfiled=YES means compile a profiled stage-2 compiler
+GhcProfiled=NO
# Do we support shared libs?
PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),i386-unknown-linux x86_64-unknown-linux i386-unknown-freebsd x86_64-unknown-freebsd i386-unknown-mingw32 i386-apple-darwin powerpc-apple-darwin),YES,NO)
# Whether to use libffi for adjustors (foreign import "wrapper") or
# not. If we have built-in support (rts/Adjustor.c) then we use that,
# otherwise we fall back on libffi, which is slightly slower.
-ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 alpha powerpc ia64,),YES,NO))
+ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc,),YES,NO))
ifeq "$(ArchHasAdjustorSupport)" "YES"
UseLibFFIForAdjustors=NO
else
# doing object-file splitting
ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO))
+# Object splitting is disabled on darwin due to #4013
+OsSupportsSplitObjs=$(strip $(if $(filter $(TargetOS_CPP),mingw32 cygwin32 linux solaris2 freebsd dragonfly netbsd openbsd),YES,NO))
# lazy test, so that $(GhcUnregisterised) can be set in build.mk
-SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\
- $(if $(filter NO,$(BootingFromHc)),\
- $(if $(filter NO,$(GhcUnregisterised)),\
- YES,\
- NO),\
- NO),\
- NO))
+SupportsSplitObjs=$(strip \
+ $(if $(and $(filter YES,$(ArchSupportsSplitObjs)),\
+ $(filter YES,$(OsSupportsSplitObjs)),\
+ $(filter NO,$(BootingFromHc)),\
+ $(filter NO,$(GhcUnregisterised))),\
+ YES,NO))
# By default, enable SplitObjs for the libraries if this build supports it
SplitObjs=$(SupportsSplitObjs)
# C compiler and linker flags from configure (e.g. -m<blah> to select
# correct C compiler backend).
-CONF_CC_OPTS = @CONF_CC_OPTS@
-CONF_LD_OPTS = @CONF_LD_OPTS@
+CONF_CC_OPTS_STAGE0 = @CONF_CC_OPTS_STAGE0@
+CONF_CC_OPTS_STAGE1 = @CONF_CC_OPTS_STAGE1@
+CONF_CC_OPTS_STAGE2 = @CONF_CC_OPTS_STAGE2@
+CONF_LD_OPTS_STAGE0 = @CONF_LD_OPTS_STAGE0@
+CONF_LD_OPTS_STAGE1 = @CONF_LD_OPTS_STAGE1@
+CONF_LD_OPTS_STAGE2 = @CONF_LD_OPTS_STAGE2@
ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
CONF_CC_OPTS += -G0
endif
-SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS) $(CONF_CC_OPTS)))
+SRC_HSC2HS_OPTS += $(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS) $(CONF_CC_OPTS_STAGE0)))
SRC_HSC2HS_OPTS += $(foreach d,$(GMP_INCLUDE_DIRS),-I$(d))
#-----------------------------------------------------------------------------
LATEX = latex
PDFLATEX = pdflatex
BIBTEX = bibtex
-HEVEA = hevea
-HACHA = hacha
LN_S = @LN_S@
-MANMACROS = -man
-MSMACROS = -ms
MV = mv
NROFF = nroff
PERL = @PerlCmd@
# On MSYS, building with SplitObjs=YES fails with
# ar: Bad file number
# see #3201. We need to specify a smaller max command-line size
-# to work around it. 32767 doesn't work; 30000 does.
+# to work around it. 32767 doesn't work; 30000 does, but says
+# xargs: value for -s option should be < 28153
+# so we now use 20000 to be comfortably below this bound
XARGS = xargs
ifeq "$(Windows)" "YES"
-XARGS_OPTS = -s 30000
+XARGS_OPTS = -s 20000
endif
#
# with REAL_SHELL set to something else than /bin/sh, for instance, your favourite
# command shell.
#
-REAL_SHELL=$(SHELL)
-SIZE = size
-STRIP = strip
-PATCH = @PatchCmd@
-TAR = @TarCmd@
-BZIP2 = bzip2
-GZIP = gzip
-ZIP = zip
+REAL_SHELL = $(SHELL)
-HSCOLOUR = @HSCOLOUR@
+STRIP_CMD = strip
+PATCH_CMD = @PatchCmd@
+TAR_CMD = @TarCmd@
+BZIP2_CMD = bzip2
+GZIP_CMD = gzip
-#
-# This is special to literate/, ToDo: add literate-specific
-# configure setup to literate/.
-#
-TBL = tbl
-TEX = tex
-TGRIND = tgrind
-TGRIND_HELPER = /usr/local/lib/tgrind/tfontedpr # XXX
-TIB = tib
+HSCOLOUR_CMD = @HSCOLOUR@
-TIME = @TimeCmd@
-TROFF = troff
-UNAME = uname
+TIME_CMD = @TimeCmd@
# GTK+
-GTK_CONFIG = @GTK_CONFIG@
+GTK_CONFIG_CMD = @GTK_CONFIG@
# Set this if you want to use Inno Setup to build a Windows installer
# when you make a bindist
-ISCC =
+ISCC_CMD =
#-----------------------------------------------------------------------------
# DocBook XML stuff
GHC_PKG = @GhcPkgCmd@
#
-# GreenCard
-#
-GREENCARD = @GreenCardCmd@
-GREENCARD_VERSION = @GreenCardVersion@
-
-#
# Happy
#
HAPPY = @HappyCmd@
HSTAGS = @HstagsCmd@
# Should we build haddock docs?
-HADDOCK_DOCS = $(GhcWithInterpreter)
+HADDOCK_DOCS = YES
# And HsColour the sources?
-ifeq "$(HSCOLOUR)" ""
+ifeq "$(HSCOLOUR_CMD)" ""
HSCOLOUR_SRCS = NO
else
HSCOLOUR_SRCS = YES