[project @ 2004-11-12 14:56:10 by stolz]
[ghc-hetmet.git] / mk / config.mk.in
index 66732d8..df9e0d2 100644 (file)
@@ -124,6 +124,13 @@ LeadingUnderscore=@LeadingUnderscore@
 # Pin a suffix on executables? If so, what (Windows only).
 exeext=@exeext@
 
+# Windows=YES if on a Windows platform
+ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32)" ""
+Windows=YES
+else
+Windows=NO
+endif
+
 ################################################################################
 #
 #              project-wide flags
@@ -145,9 +152,9 @@ BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
 #
 # Build the libs first if we're bootstrapping from .hc files.
 ifeq "$(BootingFromHc)" "YES"
-AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib
+AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib docs
 else
-AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib
+AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib docs
 endif
 
 #
@@ -173,10 +180,10 @@ IncludeTestDirsInBuild=NO
 IncludeExampleDirsInBuild=NO
 
 #
-# Which ways should SGML documents be built?
-# options are: dvi ps pdf html rtf
+# Which ways should DocBook XML documents be built?
+# options are: dvi ps pdf html
 #
-SGMLDocWays=
+XMLDocWays=
 
 ################################################################################
 #
@@ -240,8 +247,9 @@ GhcUnregisterised=NO
 # (as well as a C backend)
 #
 # Target platforms supported:
-#   i386, sparc & powerpc
-ifneq "$(findstring $(HostArch_CPP), i386 sparc powerpc)" ""
+#   i386, powerpc
+#   sparc has bitrotted
+ifneq "$(findstring $(HostArch_CPP), i386 powerpc)" ""
 GhcWithNativeCodeGen=YES
 else
 GhcWithNativeCodeGen=NO
@@ -288,8 +296,8 @@ endif
 #   thr_p       : threaded profiled
 #   debug       : debugging (compile with -g for the C compiler, and -DDEBUG)
 #   debug_p     : debugging profiled
-#   debug_thr   : debugging threaded
-#   debug_thr_p : debugging threaded profiled
+#   thr_debug   : debugging threaded
+#   thr_debug_p : debugging threaded profiled
 #
 ifeq "$(BootingFromHc)" "YES"
 GhcRTSWays=
@@ -356,32 +364,14 @@ endif
 # ----------------------------------------------------------------------------
 # Options for GHC's RTS
 
-# This is a good way to set things like -optc-g and -optc-DDEBUG for the RTS.
-# GhcRtsHcOpts is used when compiling .hc files and .c files.
-# GhcRtsCcOpts is used when compiling .c  files only.
-
-# For a debugging RTS:
-# GhcRtsHcOpts = -optc-DDEBUG
-# GhcRtsCcOpts = -g
-
-# For an optimised RTS:
+# For an optimised RTS (you probably don't want to change these; we build
+# a debugging RTS by default now.  Use -package rts_debug to get it).
 GhcRtsHcOpts=-O2
 GhcRtsCcOpts=-fomit-frame-pointer
 
 # Include the front panel code?  Needs GTK+.
 GhcRtsWithFrontPanel = NO
 
-#
-# To have the RTS support interoperation with OS threads, set
-# GhcRtsThreaded to YES (preferably via the --enable-threaded-rts
-# configure script option). The consequence of this is spelled out
-# in details elsewhere, but, briefly, Concurrent Haskell threads
-# can now make external (i.e., C) calls without blocking the progress
-# of other CH threads. Multiple native threads can also execute
-# Haskell code without getting in each others way too.
-# 
-GhcRtsThreaded=@ThreadedRts@
-
 ################################################################################
 #
 # libraries project
@@ -424,6 +414,7 @@ GLUT_LIBS=@GLUT_LIBS@
 
 # X11 stuff
 #
+GhcLibsWithX11=@GhcLibsWithX11@
 X_CFLAGS=@X_CFLAGS@
 X_LIBS=@X_LIBS@
 
@@ -542,28 +533,36 @@ prefix                    = @prefix@
 exec_prefix            = @exec_prefix@
 bindir                 = @bindir@
 datadir0               = @datadir@
-
-#sysconfdir            = @datadir@
-#sharedstatedir                = @sharedstatedir@
-#localstatedir         = @localstatedir@
 libdir0                        = @libdir@
 includedir             = @includedir@
 oldincludedir          = @oldincludedir@
 mandir                 = @mandir@
 
-#UNUSED:infodir                = @infodir@
-#UNUSED:srcdir          = @srcdir@
+ifeq "$(Windows)" "YES"
+
+ifeq "$(strip $(prefix))" ""
+prefix         = c:/ghc
+endif
+
+# Hack: our directory layouts tend to be different on Windows, so
+# hack around configure's bogus assumptions here.
+datadir        = $(prefix)
+libdir         = $(prefix)
+
+else
 
 #
-# override libdir and datadir to put project-specific stuff in
+# Unix: override libdir and datadir to put project-specific stuff in
 # a subdirectory with the version number included.
 #
 libdir     = $(if $(ProjectNameShort),$(libdir0)/$(ProjectNameShort)-$(ProjectVersion),$(libdir0))
 datadir    = $(if $(ProjectNameShort),$(datadir0)/$(ProjectNameShort)-$(ProjectVersion),$(datadir0))
 
+endif # Windows
+
 # Default place for putting interface files is $(libdir)
 # (overriden for packages in package.mk)
-ifacedir   = $(libdir)
+ifacedir               = $(libdir)
 
 # 
 # Default values for most of the above are only set if
@@ -602,11 +601,31 @@ ifeq "$(strip $(mandir))" ""
 mandir         = $(prefix)/man
 endif
 
-################################################################################
+#-----------------------------------------------------------------------------
+# install configuration
+
 #
-#              Utilities programs: flags
+# Set this to have files installed with a specific owner
 #
-################################################################################
+INSTALL_OWNER =
+
+# 
+# Set this to have files installed with a specific group
+#
+INSTALL_GROUP =
+
+#
+# Invocations of `install' for the four different classes
+# of targets:
+#
+INSTALL_PROGRAM = $(INSTALL) -m 755
+INSTALL_SCRIPT  = $(INSTALL) -m 755
+INSTALL_SHLIB   = $(INSTALL) -m 755
+INSTALL_DATA    = $(INSTALL) -m 644
+INSTALL_DIR     = $(MKDIRHIER)
+
+# -----------------------------------------------------------------------------
+# Utilities programs: flags 
 
 # If you want to give any standard flags to pretty much any utility
 # (see utils.mk for a complete list), by adding a line here
@@ -696,6 +715,7 @@ HSC2HS_PREFIX               = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/
 # (because the version numbers have to be calculated).
 
 GHC            = @WithGhc@
+GhcDir          = $(dir $(GHC))
 GhcVersion     = @GhcVersion@
 GhcMajVersion  = @GhcMajVersion@
 GhcMinVersion  = @GhcMinVersion@
@@ -710,6 +730,9 @@ else
 GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion)
 endif
 
+# Set to YES if $(GHC) has the readline package installed
+GhcHasReadline = @GhcHasReadline@
+
 HBC            = @HBC@
 NHC            = @NHC@
 
@@ -735,11 +758,13 @@ GHC_STAGE3        = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace
 HaveGcc        = @HaveGcc@
 UseGcc         = YES
 WhatGccIsCalled = @WhatGccIsCalled@
+GccVersion      = @GccVersion@
 ifeq "$(strip $(HaveGcc))" "YES"
 ifneq "$(strip $(UseGcc))"  "YES"
   CC   = cc
 else
   CC   = $(WhatGccIsCalled)
+  GccDir = $(dir $(WhatGccIsCalled))
 endif
 endif
 
@@ -750,9 +775,6 @@ 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)
 #
@@ -879,25 +901,20 @@ TROFF                     = troff
 UNAME                  = uname
 
 #-----------------------------------------------------------------------------
-# SGML stuff
+# DocBook XML stuff
 
-JADE                   = @JadeCmd@
+XSLTPROC               = @XsltprocCmd@
+XMLLINT                        = @XmllintCmd@
+FOP                    = @FopCmd@
+XMLTEX                 = @XmltexCmd@
+PDFXMLTEX              = @PdfxmltexCmd@
+DVIPS                  = @DvipsCmd@
 
-SGML2DVI               = $(DOCBOOK_PREFIX)db2dvi
-SGML2HTML              = $(DOCBOOK_PREFIX)db2html
-SGML2PS                        = $(DOCBOOK_PREFIX)db2ps
-SGML2PDF               = $(DOCBOOK_PREFIX)db2pdf
-SGML2RTF               = $(DOCBOOK_PREFIX)db2rtf
+DIR_DOCBOOK_XSL                = @DIR_DOCBOOK_XSL@
 
-SGMLSTYLESHEET          = $(FPTOOLS_TOP_ABS)/docs/fptools-both.dsl
-
-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@
+XSLTPROC_LABEL_OPTS    = --stringparam toc.section.depth 3 \
+                         --stringparam section.autolabel 1 \
+                         --stringparam section.label.includes.component.label 1
 
 #-----------------------------------------------------------------------------
 #              FPtools support software
@@ -1075,6 +1092,14 @@ WAY_debug_HC_OPTS=-optc-DDEBUG
 WAY_debug_p_NAME=debug profiled
 WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof
 
+# Way 'thr_debug':
+WAY_thr_debug_NAME=threaded
+WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG
+
+# Way 'thr_debug_p':
+WAY_thr_debug_p_NAME=threaded
+WAY_thr_debug_p_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG -prof
+
 #
 # Add user-way configurations here:
 #