[project @ 2003-08-27 15:18:29 by panne]
[ghc-hetmet.git] / mk / config.mk.in
index ad682b8..3153e49 100644 (file)
@@ -101,9 +101,9 @@ BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
 
 # build the libs first if we're bootstrapping from .hc files
 ifeq "$(BootingFromHc)" "YES"
-AllProjects = glafp-utils libraries hslibs ghc green-card happy hdirect hood nofib haddock
+AllProjects = glafp-utils libraries hslibs ghc greencard happy hdirect hood nofib haddock alex
 else
-AllProjects = glafp-utils ghc libraries hslibs green-card happy hdirect hood nofib haddock
+AllProjects = glafp-utils ghc libraries hslibs greencard happy hdirect hood nofib haddock alex
 endif
 
 #
@@ -164,15 +164,12 @@ GhcCompilerWays=
 #                      used to compile GHC.  Useful when bootstrapping.
 GhcHcOpts=-Rghc-timing
 
-# Extra Haskell compiler options to use when compiling all Haskell
-# *programs* (not libraries), including GHC itself.
-# Typical options to use here:
-#
-#      -H25m           use a bigger heap (to speed up compilation)
-#
-#      -O              compile an optimised compiler
-#
-FptoolsHcOpts=-O
+# Extra options added to specific stages of the compiler bootstrap.
+# These are placed later on the command line, and may therefore
+# override options from $(GhcHcOpts).
+GhcStage1HcOpts=
+GhcStage2HcOpts=
+GhcStage3HcOpts=
 
 # Build a compiler that will build *unregisterised* libraries and
 # binaries by default.  Unregisterised code is supposed to compile and
@@ -196,8 +193,8 @@ GhcUnregisterised=NO
 # (as well as a C backend)
 #
 # Target platforms supported:
-#   i386 & sparc
-ifneq "$(findstring $(HostArch_CPP), i386 sparc)" ""
+#   i386, sparc & powerpc
+ifneq "$(findstring $(HostArch_CPP), i386 sparc powerpc)" ""
 GhcWithNativeCodeGen=YES
 else
 GhcWithNativeCodeGen=NO
@@ -212,11 +209,8 @@ HaveRtldLocal = @HaveRtldLocal@
 
 # Include GHCi in the compiler.  Default to NO for the time being.
 
-ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd)" ""
+ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd darwin)" ""
 GhcWithInterpreter=YES
-ifeq "$(HaveLibDL)" "YES"
-SRC_HC_OPTS += -ldl
-endif
 else 
 GhcWithInterpreter=NO
 endif
@@ -346,15 +340,26 @@ ReadlineIncludePath=
 # Math library
 LIBM=@LIBM@
 
+# Build the ObjectIO ?
+#
+GhcLibsWithObjectIO=@GhcLibsWithObjectIO@
+
 # Build the Haskell OpenGL/GLUT binding?
 #
 GhcLibsWithHOpenGL=@GhcLibsWithHOpenGL@
 GL_CFLAGS=@GL_CFLAGS@
 GL_LIBS=@GL_LIBS@
+GLUT_LIBS=@GLUT_LIBS@
 
 X_CFLAGS=@X_CFLAGS@
 X_LIBS=@X_LIBS@
 
+
+# 
+# .NET interop support?
+#
+DotnetSupport=@DotnetSupport@
+
 ################################################################################
 #
 #              happy project
@@ -381,9 +386,9 @@ HappyHcOpts = -O
 
 ################################################################################
 #
-#              green-card project
+#              greencard project
 #
-#      Green-card specific options
+#      GreenCard specific options
 #
 ################################################################################
 
@@ -466,11 +471,7 @@ datadir0           = @datadir@
 #sysconfdir            = @datadir@
 #sharedstatedir                = @sharedstatedir@
 #localstatedir         = @localstatedir@
-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
 libdir0                        = @libdir@
-else
-libdir0                 = @prefix@
-endif
 includedir             = @includedir@
 oldincludedir          = @oldincludedir@
 mandir                 = @mandir@
@@ -482,13 +483,12 @@ mandir                    = @mandir@
 # override libdir and datadir to put project-specific stuff in
 # a subdirectory with the version number included.
 #
-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
 libdir     = $(if $(ProjectNameShort),$(libdir0)/$(ProjectNameShort)-$(ProjectVersion),$(libdir0))
 datadir    = $(if $(ProjectNameShort),$(datadir0)/$(ProjectNameShort)-$(ProjectVersion),$(datadir0))
-else
-libdir    = $(libdir0)
-datadir    = $(datadir0)
-endif
+
+# Default place for putting interface files is $(libdir)
+# (overriden for packages in package.mk)
+ifacedir   = $(libdir)
 
 # 
 # Default values for most of the above are only set if
@@ -527,7 +527,6 @@ ifeq "$(strip $(mandir))" ""
 mandir         = $(prefix)/man
 endif
 
-
 ################################################################################
 #
 #              Utilities programs: flags
@@ -544,6 +543,8 @@ endif
 #
 #      SRC_HC_OPTS += -O
 
+SRC_HC_OPTS += -H16m -O
+
 # These flags make flex 8-bit
 SRC_FLEX_OPTS  += -8
 
@@ -594,19 +595,17 @@ RUNTEST_PREFIX            = $(GLAFP_UTILS)/runstdtest/
 VERBATIM_PREFIX                = $(GLAFP_UTILS)/verbatim/
 SGMLVERB_PREFIX                = $(GLAFP_UTILS)/sgmlverb/
 ETAGS_PREFIX           = $(GLAFP_UTILS)/etags/
-MSUB_PREFIX            = $(GLAFP_UTILS)/msub/
 LNDIR_PREFIX           = $(GLAFP_UTILS)/lndir/
 MKDIRHIER_PREFIX       = $(GLAFP_UTILS)/mkdirhier/
 DOCBOOK_PREFIX         = $(GLAFP_UTILS)/docbook/
 
-LITERATE_PREFIX        = $(FPTOOLS_TOP)/literate/
+HADDOCK_PREFIX         = $(FPTOOLS_TOP)/haddock/
 
-HAPPY_PREFIX           = $(FPTOOLS_TOP)/happy/src/
-GREENCARD_PREFIX       = $(FPTOOLS_TOP)/green-card/src/
+LITERATE_PREFIX        = $(FPTOOLS_TOP)/literate/
 
 UNLIT_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/unlit/
 HP2PS_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/hp2ps/
-HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hstags/
+HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hasktags/
 HSC2HS_PREFIX          = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/
 
 #-----------------------------------------------------------------------------
@@ -626,8 +625,15 @@ GhcVersion = @GhcVersion@
 GhcMajVersion  = @GhcMajVersion@
 GhcMinVersion  = @GhcMinVersion@
 GhcPatchLevel  = @GhcPatchLevel@
-# Canonicalised ghc version number, used for easy (integer) version comparisons.
+
+# Canonicalised ghc version number, used for easy (integer) version
+# comparisons.  We must expand $(GhcMinVersion) to two digits by
+# adding a leading zero if necessary:
+ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" ""
+GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion)
+else
 GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion)
+endif
 
 HBC            = @HBC@
 NHC            = @NHC@
@@ -640,6 +646,9 @@ MKDEPENDHS  = $(GHC)
 # tree).  We can refer to "this ghc" as $(GHC_INPLACE):
 
 GHC_INPLACE    = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace
+GHC_STAGE1     = $(FPTOOLS_TOP)/ghc/compiler/stage1/ghc-inplace
+GHC_STAGE2     = $(FPTOOLS_TOP)/ghc/compiler/stage2/ghc-inplace
+GHC_STAGE3     = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace
 
 #-----------------------------------------------------------------------------
 # C compiler
@@ -666,6 +675,9 @@ ifeq "$(TARGETPLATFORM)" "ia64-unknown-linux"
 SRC_CC_OPTS += -G0
 endif
 
+# Solaris2 strikes again.
+unix_SRC_HSC2HS_OPTS += @unix_SRC_HSC2HS_OPTS@
+
 #-----------------------------------------------------------------------------
 # GMP Library (version 2.0.x or above)
 #
@@ -673,11 +685,20 @@ HaveLibGmp        = @HaveLibGmp@
 LibGmp         = @LibGmp@
 
 #-----------------------------------------------------------------------------
-# Regex libraries
+# Mingwex Library
+#
+HaveLibMingwEx = @HaveLibMingwEx@
+
+#-----------------------------------------------------------------------------
+# HaskellSupport framework (Mac OS X)
+#
+HaveFrameworkHaskellSupport = @HaveFrameworkHaskellSupport@
+
+#-----------------------------------------------------------------------------
+# Regex library
 # (if present in libc use that one, otherwise use the one in the tree)
 #
 HavePosixRegex  = @HavePosixRegex@
-HaveGNURegex   = @HaveGNURegex@
 
 #-----------------------------------------------------------------------------
 # GTK+
@@ -686,11 +707,11 @@ GTK_CONFIG                = @GTK_CONFIG@
 GTK_VERSION            = @GTK_VERSION@
 
 #-----------------------------------------------------------------------------
-# Flex
+# Flex (currently unused, could be moved to glafp-utils)
 
-FLEX                   = @LEX@
+# FLEX                 = @LEX@
 # Don't bother with -lfl, we define our own yywrap()s anyway.
-FLEX_LIB               = 
+# FLEX_LIB             = 
 #WAS:FLEX_LIB          = @LEXLIB@
 
 #-----------------------------------------------------------------------------
@@ -700,11 +721,6 @@ AR                 = @ArCmd@
 ArSupportsInput                = @ArSupportsInput@
 # Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!!
 BASH                    = /usr/local/bin/bash
-#
-# Could be either gzip or compress
-#
-COMPRESS               = @CompressCmd@
-COMPRESS_SUFFIX         = @CompressSuffix@
 
 CONTEXT_DIFF           = @ContextDiffCmd@
 CP                     = cp
@@ -732,9 +748,9 @@ MSMACROS            = -ms
 MV                     = mv
 NROFF                  = nroff
 PERL                   = @PerlCmd@
+PYTHON                 = @PythonCmd@
 PIC                    = pic
 PREPROCESSCMD          = $(CC) -E
-PRINTER                        = lpr
 RANLIB                 = @RANLIB@
 RM                     = rm -f
 SED                    = @SedCmd@
@@ -775,11 +791,6 @@ TAR                        = @TarCmd@
 ZIP                    = zip
 
 #
-# Under Windows, we have to deal with .exe suffixes
-#
-EXE_SUFFIX=@exeext@
-
-#
 # This is special to literate/, ToDo: add literate-specific
 # configure setup to literate/.
 #
@@ -792,7 +803,6 @@ TIB                 = tib
 TIME                   = @TimeCmd@
 TROFF                  = troff
 UNAME                  = uname
-YACC                   = @YaccCmd@
 
 #-----------------------------------------------------------------------------
 # SGML stuff
@@ -823,13 +833,11 @@ MKDEPENDC                 = $(MKDEPENDC_PREFIX)mkdependC
 LTX                    = $(LTX_PREFIX)ltx
 MKDIRHIER              = $(MKDIRHIER_PREFIX)mkdirhier
 LNDIR                  = $(LNDIR_PREFIX)lndir
-MSUB                   = $(MSUB_PREFIX)msub
 ETAGS                  = $(ETAGS_PREFIX)etags
 VERBATIM               = $(VERBATIM_PREFIX)verbatim
 SGMLVERB               = $(SGMLVERB_PREFIX)sgmlverb
 RUNTEST                        = $(RUNTEST_PREFIX)runstdtest
 LX                     = @LxCmd@
-GREENCARD              = $(FPTOOLS_TOP)/green-card/src/green-card
 
 BLD_DLL                        = dllwrap
 
@@ -840,6 +848,17 @@ ILX2IL                  = ilx2il
 ILASM                   = ilasm
 
 #
+# ghc-pkg
+#
+GHC_PKG                        = @GhcPkgCmd@
+
+#
+# GreenCard
+#
+GREENCARD              = @GreenCardCmd@
+GREENCARD_VERSION      = @GreenCardVersion@            
+
+#
 # Happy
 #
 HAPPY                  = @HappyCmd@
@@ -850,6 +869,22 @@ HAPPY_VERSION              = @HappyVersion@
 GHC_HAPPY_OPTS         = -agc
 
 #
+# Alex
+#
+ALEX                   = @AlexCmd@
+ALEX_VERSION           = @AlexVersion@         
+#
+# Options to pass to Happy when we're going to compile the output with GHC
+#
+GHC_ALEX_OPTS          = -g
+
+#
+# Haddock
+# 
+HADDOCK                        = @HaddockCmd@
+HADDOCK_INPLACE                = $(HADDOCK_PREFIX)/src/haddock-inplace
+
+#
 # Stuff from fptools/literate
 #
 LIT2PGM                = $(LITERATE_PREFIX)lit2pgm
@@ -862,9 +897,9 @@ LIT2TEXT            = $(LITERATE_PREFIX)lit2text
 #
 # Stuff from fptools/ghc/utils
 #
-UNLIT                  = $(UNLIT_PREFIX)unlit$(EXE_SUFFIX)
-HP2PS                  = $(HP2PS_PREFIX)hp2ps$(EXE_SUFFIX)
-HSTAGS                 = $(HSTAGS_PREFIX)hstags
+UNLIT                  = $(UNLIT_PREFIX)unlit$(exeext)
+HP2PS                  = $(HP2PS_PREFIX)hp2ps$(exeext)
+HSTAGS                 = $(HSTAGS_PREFIX)hasktags
 HSC2HS                 = $(HSC2HS_PREFIX)hsc2hs-inplace
 
 #