[project @ 2003-05-23 08:49:22 by simonmar]
[ghc-hetmet.git] / mk / config.mk.in
index 7cae94a..91344c1 100644 (file)
@@ -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
@@ -470,11 +464,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@
@@ -486,13 +476,8 @@ 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)
@@ -535,7 +520,6 @@ ifeq "$(strip $(mandir))" ""
 mandir         = $(prefix)/man
 endif
 
-
 ################################################################################
 #
 #              Utilities programs: flags
@@ -552,6 +536,8 @@ endif
 #
 #      SRC_HC_OPTS += -O
 
+SRC_HC_OPTS += -H16m -O
+
 # These flags make flex 8-bit
 SRC_FLEX_OPTS  += -8
 
@@ -613,7 +599,7 @@ 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/
 
 #-----------------------------------------------------------------------------
@@ -633,8 +619,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@
@@ -647,6 +640,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
@@ -673,6 +669,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)
 #
@@ -685,6 +684,11 @@ LibGmp             = @LibGmp@
 HaveLibMingwEx = @HaveLibMingwEx@
 
 #-----------------------------------------------------------------------------
+# HaskellSupport framework (Mac OS X)
+#
+HaveFrameworkHaskellSupport = @HaveFrameworkHaskellSupport@
+
+#-----------------------------------------------------------------------------
 # Regex libraries
 # (if present in libc use that one, otherwise use the one in the tree)
 #
@@ -744,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@
@@ -787,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/.
 #
@@ -841,7 +840,6 @@ 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
 
@@ -852,6 +850,17 @@ ILX2IL                  = ilx2il
 ILASM                   = ilasm
 
 #
+# ghc-pkg
+#
+GHC_PKG                        = @GhcPkgCmd@
+
+#
+# Greencard
+#
+GREENCARD              = @GreencardCmd@
+GREENCARD_VERSION      = @GreencardVersion@            
+
+#
 # Happy
 #
 HAPPY                  = @HappyCmd@
@@ -880,9 +889,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
 
 #