tidy up autoconfiguration of docbook stuff
[ghc-hetmet.git] / mk / config.mk.in
index ad4bc04..1e2bde0 100644 (file)
 #
 #        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.
@@ -555,43 +546,6 @@ SRC_BLD_DLL_OPTS += --target=i386-mingw32
 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_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
 #
@@ -600,7 +554,6 @@ GHC_SYSMAN_DIR          = $(GHC_RTS_DIR)/parallel
 
 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)
@@ -626,18 +579,12 @@ GHC_PERL          = $(PERL)
 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)
 
-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)
 MKDIRHIER              = $(INPLACE_BIN)/$(GHC_MKDIRHIER_PGM)
@@ -709,7 +656,6 @@ GhcPatchLevel       = @GhcPatchLevel@
 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
@@ -740,8 +686,9 @@ else
 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
@@ -816,7 +763,6 @@ PYTHON                      = @PythonCmd@
 PIC                    = pic
 PREPROCESSCMD          = $(CC) -E
 RANLIB                 = @RANLIB@
-RM                     = rm -f
 SED                    = @SedCmd@
 SHELL                  = /bin/sh
 
@@ -831,6 +777,16 @@ LD_X                       = @LdXFlag@
 # 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
@@ -886,18 +842,17 @@ ISCC                    =
 #-----------------------------------------------------------------------------
 # 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@
-
-DIR_DOCBOOK_XSL                = @DIR_DOCBOOK_XSL@
-
-XSLTPROC_LABEL_OPTS    = --stringparam toc.section.depth 3 \
-                         --stringparam section.autolabel 1 \
-                         --stringparam section.label.includes.component.label 1
+BUILD_DOCBOOK_HTML       = @BUILD_DOCBOOK_HTML@
+BUILD_DOCBOOK_PS         = @BUILD_DOCBOOK_PS@
+BUILD_DOCBOOK_PDF        = @BUILD_DOCBOOK_PDF@
+DBLATEX                  = @DblatexCmd@
+XSLTPROC                 = @XsltprocCmd@
+XMLLINT                  = @XmllintCmd@
+HAVE_DOCBOOK_XSL        = @HAVE_DOCBOOK_XSL@
+XSLTPROC_HTML_STYLESHEET = http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl
+XSLTPROC_LABEL_OPTS     = --stringparam toc.section.depth 3 \
+                          --stringparam section.autolabel 1 \
+                          --stringparam section.label.includes.component.label 1
 
 #-----------------------------------------------------------------------------
 #              FPtools support software
@@ -939,6 +894,8 @@ ALEX_VERSION                = @AlexVersion@
 #
 SRC_ALEX_OPTS          = -g
 
+HSTAGS = @HstagsCmd@
+
 # Should we build haddock docs?
 HADDOCK_DOCS = YES
 # And HsColour the sources?