[project @ 2001-07-23 22:33:52 by ken]
[ghc-hetmet.git] / mk / config.mk.in
index 54702b1..a070225 100644 (file)
@@ -100,6 +100,10 @@ exeext=@exeext@
 # BootingFromHc - build GHC and the libraries from .hc files?
 BootingFromHc = @BootingFromHc@
 
+# BootingFromUnregisterisedHc - treat .hc files as containing unregisterised
+# rather than registerised code, i.e., disable the mangler?
+BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
+
 # build the libs first if we're bootstrapping from .hc files
 ifeq "$(BootingFromHc)" "YES"
 AllProjects = glafp-utils hslibs ghc green-card happy hdirect hood nofib
@@ -233,6 +237,17 @@ GhcLibHcOpts=-O -Rghc-timing
 # Win32 only: Enable the RTS and libraries to be built as DLLs
 DLLized=@EnableWin32DLLs@
 
+# Win32 only: are we building a compiler that tries to reduce external
+# dependencies? i.e., one that doesn't assume that the user has got
+# the cygwin toolchain installed on his/her Win32 box.
+#
+# GHC is still dependent on GNU tools in the backend (gcc to further process
+# .c/.hc/.s/.o files + 'perl' to mangle and split), but using this
+# option a GHC distribution can be put together which includes a minimal
+# set of these open source tools. 
+#
+MinimalUnixDeps=@MinimalUnixDeps@
+
 # Don't split object files for libs if we're building DLLs, or booting from
 # .hc files.
 SplitObjs=YES
@@ -243,6 +258,9 @@ endif
 ifeq "$(BootingFromHc)" "YES"
 SplitObjs=NO
 endif
+ifeq "$(GhcUnregisterised)" "YES"
+SplitObjs=NO
+endif
 
 # Strip local symbols from libraries?  This can make the libraries smaller,
 # but makes debugging somewhat more difficult.  Doesn't work with all ld's.
@@ -258,7 +276,7 @@ StripLibraries=NO
 
 # For a debugging RTS:
 # GhcRtsHcOpts = -optc-DDEBUG
-# GhcRtsCcOpts = -optc-g
+# GhcRtsCcOpts = -g
 
 # For an optimised RTS:
 GhcRtsHcOpts=-O2
@@ -284,8 +302,8 @@ HsLibsFor   = ghc
 # hslibs for GHC also uses the following variables (defined above):
 #   GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, DLLized, StripLibraries
 
-# Haskell compiler options for tools in hslibs
-GhcLibToolsHcOpts=-O
+# Haskell compiler options for tools in fptools
+FptoolsHcOpts=-O
 
 # Build the Haskell Readline bindings?
 #
@@ -306,6 +324,9 @@ LIBM=@LIBM@
 #
 GhcLibsWithHOpenGL=@GhcLibsWithHOpenGL@
 
+X_CFLAGS=@X_CFLAGS@
+X_LIBS=@X_LIBS@
+
 ################################################################################
 #
 #              happy project
@@ -418,6 +439,7 @@ prefix                      = @prefix@
 exec_prefix            = @exec_prefix@
 bindir                 = @bindir@
 datadir                        = @datadir@
+
 #sysconfdir            = @datadir@
 #sharedstatedir                = @sharedstatedir@
 #localstatedir         = @localstatedir@
@@ -426,10 +448,16 @@ includedir                = @includedir@
 oldincludedir          = @oldincludedir@
 mandir                 = @mandir@
 
-#UNUSED, see below: libexecdir              = @libexecdir@
 #UNUSED:infodir                = @infodir@
 #UNUSED:srcdir          = @srcdir@
 
+#
+# override libdir and datadir to put project-specific stuff in
+# a subdirectory with the version number included.
+#
+libdir     := $(if $(ProjectNameShort),$(libdir)/$(ProjectNameShort)-$(ProjectVersion),$(libdir))
+datadir    := $(if $(ProjectNameShort),$(datadir)/$(ProjectNameShort)-$(ProjectVersion),$(datadir))
+
 # 
 # Default values for most of the above are only set if
 # they weren't configured to anything in particular
@@ -582,7 +610,10 @@ GHC_INPLACE        = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace
 #-----------------------------------------------------------------------------
 # C compiler
 #
-#
+# NB. Don't override $(WhatGccIsCalled) using build.mk,  re-configure using
+# the flag --with-gcc=<blah> instead.  The reason is that the configure script
+# needs to know which gcc you're using in order to perform its tests.
+
 HaveGcc        = @HaveGcc@
 UseGcc         = YES
 WhatGccIsCalled = @WhatGccIsCalled@
@@ -595,10 +626,7 @@ endif
 endif
 
 # default C compiler flags
-SRC_CC_OPTS = -O
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-SRC_CC_OPTS += -mno-cygwin -mwin32
-endif
+SRC_CC_OPTS = @SRC_CC_OPTS@
 
 #-----------------------------------------------------------------------------
 # GMP Library (version 2.0.x or above)
@@ -642,7 +670,11 @@ CONTEXT_DIFF               = @ContextDiffCmd@
 CP                     = cp
 CPP                    = @CPP@
 CTAGS                  = $(ETAGS)
-RAWCPP                  = $(CPP) -undef -traditional
+#
+# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to
+# behave plausibly on Haskell sources.
+#
+RAWCPP_FLAGS            = -undef -traditional
 FIND                   = @FindCmd@
 INSTALL                        = @INSTALL@
 #
@@ -732,6 +764,7 @@ SRC_SGML2DVI_OPTS       = -d $(SGMLSTYLESHEET)
 SRC_SGML2HTML_OPTS      = -d $(SGMLSTYLESHEET)
 SRC_SGML2PS_OPTS       = -d $(SGMLSTYLESHEET)
 SRC_SGML2RTF_OPTS       = -d $(SGMLSTYLESHEET)
+SRC_SGML2PDF_OPTS       = -d $(SGMLSTYLESHEET)
 
 DOCBOOK_CATALOG                = @Catalog@