[project @ 2000-07-18 17:29:53 by rrt]
[ghc-hetmet.git] / mk / config.mk.in
index c52eeda..25c7e32 100644 (file)
@@ -1,4 +1,4 @@
-#
+#                                                               -*-makefile-*-
 # @configure_input@
 #
 ################################################################################
@@ -86,7 +86,7 @@ HostVendor_CPP                        = @HostVendor_CPP@
 #
 LeadingUnderscore=@LeadingUnderscore@
 
-# Pin a suffix on executables? If so, what. (cygwin32 only).
+# Pin a suffix on executables? If so, what (Windows only).
 exeext=@exeext@
 
 ################################################################################
@@ -110,7 +110,12 @@ exeext=@exeext@
 #              * ghc next
 #              then it's up to you
 
+ifeq "$(GhcWithHscBuiltViaC)" "YES"
+# need hslibs/lang first if we're bootstrapping
+ProjectsToBuild   = glafp-utils hslibs ghc
+else
 ProjectsToBuild   = glafp-utils ghc hslibs
+endif
 #
 # Make a distinction between building and installing
 #
@@ -168,7 +173,7 @@ GhcCompilerWays=
 #
 #      -dcore-lint     check the types after every pass of the compiler;
 #                      a pretty strong internal check
-GhcHcOpts=
+GhcHcOpts=-O
 
 # GhcWithHscBuiltViaC - build GHC compiler proper (\`hsc') from .hc files?
 GhcWithHscBuiltViaC=@BootingFromHc@
@@ -209,6 +214,7 @@ GhcLibWays=p
 endif
 
 # Option flags to pass to GHC when it's compiling prelude modules
+# *and* standard library modules (std) *and* modules in hslibs
 # Typically these are things like -O or -dcore-lint
 # The ones that are *essential* are wired into ghc/lib/Makefile
 #
@@ -217,12 +223,13 @@ endif
 
 GhcLibHcOpts=-O
 
-
 # Win32 only: Enable the RTS and libraries to be built as DLLs
 # Don't split object files for libs if we're building DLLs
 EnableWin32DLLs=@EnableWin32DLLs@
-ifeq "($EnableWin32DLLs)" "YES"
+ifeq "$(EnableWin32DLLs)" "YES"
 SplitObjs=NO
+else
+SplitObjs=YES
 endif
 
 
@@ -261,17 +268,22 @@ GhcRtsCcOpts=-O2 -optc-fomit-frame-pointer
 HsLibsFor      = ghc
 
 # hslibs for GHC also uses the following variables (defined above):
-#   GhcLibWays, GhcLibHcOpts, EnableWin32DLLs, StripLibraries
+#   GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, EnableWin32DLLs, StripLibraries
+
+# Haskell compiler options for tools in hslibs
+GhcLibToolsHcOpts=-O
 
 # Build the Haskell Readline bindings?
 #
-GhcLibsWithReadline=NO
-#
+GhcLibsWithReadline=@HaveReadlineHeaders@
+
+# Libraries needed for linking with readline
+LibsReadline=@LibsReadline@
+
 # Include path to readline.h
 # (no path == in standard include path)
 #
 ReadlineIncludePath=
-HaveLibReadline=@HaveLibReadline@
 
 ################################################################################
 #
@@ -364,19 +376,20 @@ FPTOOLS_TOP_ABS           = @hardtop@
 # but since the configure script has them on offer while
 # passing through, we might as well set them.
 
-prefix                  = @prefix@
-exec_prefix             = @exec_prefix@
-bindir                  = @bindir@
-#UNUSED, see below: libexecdir              = @libexecdir@
-datadir                 = @datadir@
-#sysconfdir              = @datadir@
-#sharedstatedir          = @sharedstatedir@
-#localstatedir           = @localstatedir@
-libdir                  = @libdir@
-infodir                        = @infodir@
-includedir              = @includedir@
-oldincludedir           = @oldincludedir@
+prefix                 = @prefix@
+exec_prefix            = @exec_prefix@
+bindir                 = @bindir@
+datadir                        = @datadir@
+#sysconfdir            = @datadir@
+#sharedstatedir                = @sharedstatedir@
+#localstatedir         = @localstatedir@
+libdir                 = @libdir@
+includedir             = @includedir@
+oldincludedir          = @oldincludedir@
 mandir                 = @mandir@
+
+#UNUSED, see below: libexecdir              = @libexecdir@
+#UNUSED:infodir                = @infodir@
 #UNUSED:srcdir          = @srcdir@
 
 # 
@@ -406,9 +419,6 @@ endif
 ifeq "$(strip $(libdir))" ""
 libdir         = $(exec_prefix)/lib
 endif
-ifeq "$(strip $(infodir))" ""
-infodir                = $(prefix)/info
-endif
 ifeq "$(strip $(includedir))" ""
 includedir     = $(prefix)/include
 endif
@@ -474,22 +484,16 @@ ETAGS_PREFIX              = $(GLAFP_UTILS)/etags/
 MSUB_PREFIX            = $(GLAFP_UTILS)/msub/
 LNDIR_PREFIX           = $(GLAFP_UTILS)/lndir/
 MKDIRHIER_PREFIX       = $(GLAFP_UTILS)/mkdirhier/
-
-# Still used?
-LITERATE               = $(FPTOOLS_TOP)/literate
+DOCBOOK_PREFIX         = $(GLAFP_UTILS)/docbook/
 
 LITERATE_PREFIX        = $(FPTOOLS_TOP)/literate/
-INFO_PREFIX                    = $(FPTOOLS_TOP)/literate/info-utils/
-TEXI2HTML_PREFIX        = $(LITERATE_PREFIX)texi2html/
 
 HAPPY_PREFIX           = $(FPTOOLS_TOP)/happy/src/
 GREENCARD_PREFIX       = $(FPTOOLS_TOP)/green-card/src/
 
 UNLIT_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/unlit/
-UGEN_PREFIX             = $(FPTOOLS_TOP)/ghc/utils/ugen/
 STAT2RESID_PREFIX       = $(FPTOOLS_TOP)/ghc/utils/stat2resid/
 HP2PS_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/hp2ps/
-HSCPP_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/hscpp/
 HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hstags/
 
 
@@ -503,6 +507,11 @@ HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hstags/
 # $(MKDEPENDHS) is the Haskell dependency generator (ghc -M).
 
 GHC            = @GHC@
+GhcVersion     = @GhcVersion@
+GhcMajVersion  = @GhcMajVersion@
+GhcMinVersion  = @GhcMinVersion@
+GhcPatchLevel  = @GhcPatchLevel@
+
 HBC            = @HBC@
 NHC            = @NHC@
 
@@ -537,6 +546,12 @@ HaveLibGmp = @HaveLibGmp@
 LibGmp         = @LibGmp@
 
 #-----------------------------------------------------------------------------
+# Regex library 
+# (if present in libc use that one, otherwise use the one in the tree)
+#
+HaveRegex      = @HaveRegex@
+
+#-----------------------------------------------------------------------------
 # Flex
 
 FLEX                   = @LEX@
@@ -597,7 +612,7 @@ SHELL                       = /bin/sh
 # We do not use SHELL to execute long commands, as `make' will more than likely
 # override whatever setting you have in your environment while executing. 
 
-# By default, REAL_SHELL is set equal SHELL, which is not really a smart move
+# By default, REAL_SHELL is set equal to SHELL, which is not really a smart move
 # as it is SHELL that will show up the bogosity in the first place, but setting
 # it to anything else isn't really portable.
 #
@@ -612,9 +627,9 @@ TAR                 = @TarCmd@
 ZIP                    = zip
 
 #
-# Under cygwin32, we have to deal with .exe suffixes
+# Under Windows, we have to deal with .exe suffixes
 #
-EXE_SUFFIX=@ExeSuffix@
+EXE_SUFFIX=@exeext@
 
 #
 # This is special to literate/, ToDo: add literate-specific
@@ -632,20 +647,25 @@ UNAME                     = uname
 YACC                   = @YaccCmd@
 
 #-----------------------------------------------------------------------------
-# SGML stuff (currently not configured - we assume you have it)
+# SGML stuff
 
-SGML2DVI               = db2dvi
-SGML2HTML              = db2html
-SGML2INFO              = db2info
-SGML2RTF               = db2rtf
+JADE                   = @JadeCmd@
+
+SGML2DVI               = $(DOCBOOK_PREFIX)db2dvi
+SGML2HTML              = $(DOCBOOK_PREFIX)db2html
+SGML2PS                        = $(DOCBOOK_PREFIX)db2ps
+SGML2PDF               = $(DOCBOOK_PREFIX)db2pdf
+SGML2RTF               = $(DOCBOOK_PREFIX)db2rtf
 
 SGMLSTYLESHEET          = $(FPTOOLS_TOP_ABS)/docs/fptools-both.dsl
 
 SRC_SGML2DVI_OPTS       = -d $(SGMLSTYLESHEET)
 SRC_SGML2HTML_OPTS      = -d $(SGMLSTYLESHEET)
-SRC_SGML2INFO_OPTS      = -d $(SGMLSTYLESHEET)
+SRC_SGML2PS_OPTS       = -d $(SGMLSTYLESHEET)
 SRC_SGML2RTF_OPTS       = -d $(SGMLSTYLESHEET)
 
+DOCBOOK_CATALOG                = @Catalog@
+
 #-----------------------------------------------------------------------------
 #              FPtools support software
 
@@ -659,35 +679,37 @@ ETAGS                     = $(ETAGS_PREFIX)etags
 VERBATIM               = $(VERBATIM_PREFIX)verbatim
 SGMLVERB               = $(SGMLVERB_PREFIX)sgmlverb
 RUNTEST                        = $(RUNTEST_PREFIX)runstdtest
-HAPPY                  = @HappyCmd@
-HAPPY_VERSION          = @HappyVersion@                
 LX                     = @LxCmd@
 GREENCARD              = $(FPTOOLS_TOP)/green-card/src/green-card
 
 BLD_DLL                        = dllwrap
 
 #
+# Happy
+#
+HAPPY                  = @HappyCmd@
+HAPPY_VERSION          = @HappyVersion@                
+#
+# Options to pass to Happy when we're going to compile the output with GHC
+#
+GHC_HAPPY_OPTS         = $(shell if expr $(HAPPY_VERSION) \< "1.8" >/dev/null; then echo -g; else echo -agc; fi)
+
+#
 # Stuff from fptools/literate
 #
-INFO                   = $(UTIL_PREFIX)info
-MAKEINFO               = $(INFO_PREFIX)makeinfo
-POSTMAKEINFO           = $(INFO_PREFIX)postmakeinfo
 LIT2PGM                = $(LITERATE_PREFIX)lit2pgm
-LIT2TEXI               = $(LITERATE_PREFIX)lit2texi
 LIT2HTML               = $(LITERATE_PREFIX)lit2html
 LIT2LATEX              = $(LITERATE_PREFIX)lit2latex
 MKDEPENDLIT            = $(LITERATE_PREFIX)mkdependlit
 LIT2CHANGELOG          = $(LITERATE_PREFIX)lit2changelog
 LIT2TEXT               = $(LITERATE_PREFIX)lit2text
-TEXI2HTML               = $(TEXI2HTML_PREFIX)texi2html
 
 #
 # Stuff from fptools/ghc/utils
 #
-UNLIT                  = $(UNLIT_PREFIX)unlit
-UGEN                   = $(UGEN_PREFIX)ugen
+UNLIT                  = $(UNLIT_PREFIX)unlit$(EXE_SUFFIX)
 STAT2RESID             = $(STAT2RESID_PREFIX)stat2resid
-HP2PS                  = $(HP2PS_PREFIX)hp2ps
+HP2PS                  = $(HP2PS_PREFIX)hp2ps$(EXE_SUFFIX)
 HSCPP                  = $(HSCPP_PREFIX)hscpp
 HSTAGS                 = $(HSTAGS_PREFIX)hstags