#
# If you don't have a build.mk file then you get defaults for everything.
# The defaults should provide a reasonable vanilla build.
-#
-# This is one of only two files that configure generates (the other is config.h)
-#
-
-ifneq "$(findstring 3.7, $(MAKE_VERSION))" ""
-ifeq "$(findstring 3.79.1, $(MAKE_VERSION))" ""
-$(error GNU make version 3.79.1 or later is required.)
-endif
-endif
# TOP: the top of the fptools hierarchy, absolute path.
# On Windows this is a c:/foo/bar style path.
# rather than registerised code, i.e., disable the mangler?
BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
-#
-# Which ways should DocBook XML documents be built?
-# options are: dvi ps pdf html chm HxS
-#
-XMLDocWays=
+NO_INCLUDE_DEPS = NO
+NO_INCLUDE_PKGDATA = NO
# Should we build latex docs?
LATEX_DOCS = NO
################################################################################
#
-# nofib
-#
-# nofib specific options
-#
-################################################################################
-
-WithNofibHc = $(GHC_INPLACE)
-
-# NoFibSubDirs controls which set of tests should be run
-# You can run one or more of
-# imaginary
-# spectral
-# real
-# parallel
-# PRIVATE
-# PENDING
-# UNUSED
-NoFibSubDirs = imaginary spectral real
-
-# The different ways to build nofib. Default is just to mirror
-# what is done for the ghc prelude libraries.
-#
-NoFibWays = $(GhcLibWays)
-
-# Haskell compiler options for nofib
-NoFibHcOpts = -O
-
-# Number of times to run each program
-NoFibRuns = 5
-
-################################################################################
-#
# Paths (see paths.mk)
#
################################################################################
GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__
-################################################################################
-#
-# Layout of the source tree
-#
-################################################################################
-
-# Here we provide defines for the various directories in the source tree,
-# so we can move things around more easily. A define $(GHC_FOO_DIR)
-# indicates a directory relative to the top of the source tree.
-
-GHC_UTILS_DIR = utils
-GHC_INCLUDE_DIR = includes
-GHC_COMPILER_DIR = compiler
-GHC_PROG_DIR = ghc
-GHC_RTS_DIR = rts
-GHC_DRIVER_DIR = driver
-GHC_COMPAT_DIR = compat
-
-GHC_MKDEPENDC_DIR = $(GHC_UTILS_DIR)/mkdependC
-GHC_LTX_DIR = $(GHC_UTILS_DIR)/ltx
-GHC_RUNTEST_DIR = $(GHC_UTILS_DIR)/runstdtest
-GHC_LNDIR_DIR = $(GHC_UTILS_DIR)/lndir
-GHC_MKDIRHIER_DIR = $(GHC_UTILS_DIR)/mkdirhier
-GHC_DOCBOOK_DIR = $(GHC_UTILS_DIR)/docbook
-GHC_UNLIT_DIR = $(GHC_UTILS_DIR)/unlit
-GHC_HP2PS_DIR = $(GHC_UTILS_DIR)/hp2ps
-GHC_HSTAGS_DIR = $(GHC_UTILS_DIR)/hasktags
-GHC_GHCTAGS_DIR = $(GHC_UTILS_DIR)/ghctags
-GHC_HSC2HS_DIR = $(GHC_UTILS_DIR)/hsc2hs
-GHC_TOUCHY_DIR = $(GHC_UTILS_DIR)/touchy
-GHC_PKG_DIR = $(GHC_UTILS_DIR)/ghc-pkg
-GHC_GENPRIMOP_DIR = $(GHC_UTILS_DIR)/genprimopcode
-GHC_GENAPPLY_DIR = $(GHC_UTILS_DIR)/genapply
-GHC_CABAL_DIR = $(GHC_UTILS_DIR)/ghc-cabal
-GHC_MANGLER_DIR = $(GHC_DRIVER_DIR)/mangler
-GHC_SPLIT_DIR = $(GHC_DRIVER_DIR)/split
-GHC_SYSMAN_DIR = $(GHC_RTS_DIR)/parallel
-
# -----------------------------------------------------------------------------
# Names of programs in the GHC tree
#
GHC_UNLIT_PGM = unlit$(exeext)
GHC_HP2PS_PGM = hp2ps$(exeext)
-GHC_HSTAGS_PGM = hasktags$(exeext)
GHC_GHCTAGS_PGM = ghctags$(exeext)
GHC_HSC2HS_PGM = hsc2hs$(exeext)
GHC_TOUCHY_PGM = touchy$(exeext)
GHC_LTX_PGM = ltx$(exeext)
GHC_MKDIRHIER_PGM = mkdirhier
GHC_LNDIR_PGM = lndir
-GHC_RUNTEST_PGM = runstdtest
GHC_DUMMY_GHC_PGM = dummy-ghc$(exeext)
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
endif
HP2PS = $(GHC_HP2PS_DIR)/$(GHC_HP2PS_PGM)
-HSTAGS = $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM)
MANGLER = $(INPLACE_LIB)/$(GHC_MANGLER_PGM)
SPLIT = $(INPLACE_LIB)/$(GHC_SPLIT_PGM)
SYSMAN = $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM)
LTX = $(GHC_LTX_DIR)/$(GHC_LTX_PGM)
LNDIR = $(GHC_LNDIR_DIR)/$(GHC_LNDIR_PGM)
-RUNTEST = $(GHC_RUNTEST_DIR)/$(GHC_RUNTEST_PGM)
-
-INPLACE = inplace
-INPLACE_BIN = $(INPLACE)/bin
-INPLACE_LIB = $(INPLACE)/lib
-INPLACE_MINGW = $(INPLACE)/mingw
UNLIT = $(INPLACE_LIB)/$(GHC_UNLIT_PGM)
TOUCHY = $(INPLACE_LIB)/$(GHC_TOUCHY_PGM)
GhcMajVersion = @GhcMajVersion@
GhcMinVersion = @GhcMinVersion@
-ghc_ge_607 = @ghc_ge_607@
ghc_ge_609 = @ghc_ge_609@
# Canonicalised ghc version number, used for easy (integer) version
endif
endif
-# default C compiler flags
+# default C compiler and linker flags
SRC_CC_OPTS = @SRC_CC_OPTS@
+SRC_LD_OPTS = @SRC_LD_OPTS@
ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
SRC_CC_OPTS += -G0
PIC = pic
PREPROCESSCMD = $(CC) -E
RANLIB = @RANLIB@
-RM = rm -f
SED = @SedCmd@
SHELL = /bin/sh
# overflowing command-line length limits.
LdIsGNULd = @LdIsGNULd@
+# 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.
+ifeq "$(Windows)" "YES"
+XARGS = xargs -s 30000
+else
+XARGS = xargs
+endif
+
#
# In emergency situations, REAL_SHELL is used to perform shell commands
# from within the ghc driver script, by scribbling the command line to
#-----------------------------------------------------------------------------
# DocBook XML stuff
+BUILD_DOCBOOK_HTML = @BUILD_DOCBOOK_HTML@
+BUILD_DOCBOOK_PS = @BUILD_DOCBOOK_PS@
+BUILD_DOCBOOK_PDF = @BUILD_DOCBOOK_PDF@
+DBLATEX = @DblatexCmd@
XSLTPROC = @XsltprocCmd@
XMLLINT = @XmllintCmd@
-FOP = @FopCmd@
-XMLTEX = @XmltexCmd@
-PDFXMLTEX = @PdfxmltexCmd@
-DVIPS = @DvipsCmd@
DIR_DOCBOOK_XSL = @DIR_DOCBOOK_XSL@
#
SRC_ALEX_OPTS = -g
+HSTAGS = @HstagsCmd@
+
# Should we build haddock docs?
HADDOCK_DOCS = YES
# And HsColour the sources?