[project @ 2004-03-01 13:44:10 by simonmar]
[ghc-hetmet.git] / mk / config.mk.in
index 5271ce5..8daeff4 100644 (file)
@@ -281,6 +281,22 @@ else
 GhcLibWays=p
 endif
 
+# In addition, the RTS is built in some further variations.  Ways that
+# make sense here:
+# 
+#   thr         : threaded
+#   thr_p       : threaded profiled
+#   debug       : debugging (compile with -g for the C compiler, and -DDEBUG)
+#   debug_p     : debugging profiled
+#   thr_debug   : debugging threaded
+#   thr_debug_p : debugging threaded profiled
+#
+ifeq "$(BootingFromHc)" "YES"
+GhcRTSWays=
+else
+GhcRTSWays=thr thr_p debug
+endif
+
 # Option flags to pass to GHC when it's compiling modules in
 # fptools/libraries.  Typically these are things like -O or
 # -dcore-lint or -H32m.  The ones that are *essential* are wired into
@@ -340,30 +356,17 @@ 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.
-# 
+# DEPRECATED:
+# This option is no longer used.  We now always build the threaded RTS,
+# add the flag '-threaded' to GHC to get it.
 GhcRtsThreaded=@ThreadedRts@
 
 ################################################################################
@@ -391,22 +394,34 @@ LIBM=@LIBM@
 #
 GhcLibsWithObjectIO=@GhcLibsWithObjectIO@
 
-# Build the Haskell OpenGL/GLUT binding?
+# Build the Haskell OpenGL binding?
+#
+GhcLibsWithOpenGL=@GhcLibsWithOpenGL@
+GLU_CFLAGS=@GLU_CFLAGS@
+GLU_LIBS=@GLU_LIBS@
+
+# Build the Haskell OpenAL binding?
 #
-GhcLibsWithHOpenGL=@GhcLibsWithHOpenGL@
-GL_CFLAGS=@GL_CFLAGS@
-GL_LIBS=@GL_LIBS@
+GhcLibsWithOpenAL=@GhcLibsWithOpenAL@
+
+# Build the Haskell GLUT binding?
+#
+GhcLibsWithGLUT=@GhcLibsWithGLUT@
 GLUT_LIBS=@GLUT_LIBS@
 
+# X11 stuff
+#
 X_CFLAGS=@X_CFLAGS@
 X_LIBS=@X_LIBS@
 
-
-# 
 # .NET interop support?
 #
 DotnetSupport=@DotnetSupport@
 
+# Build unix package?
+#
+GhcLibsWithUnix=@GhcLibsWithUnix@
+
 ################################################################################
 #
 #              happy project
@@ -751,7 +766,6 @@ HavePosixRegex  = @HavePosixRegex@
 # GTK+
 
 GTK_CONFIG             = @GTK_CONFIG@
-GTK_VERSION            = @GTK_VERSION@
 
 #-----------------------------------------------------------------------------
 # Flex (currently unused, could be moved to glafp-utils)
@@ -915,6 +929,10 @@ HAPPY_VERSION              = @HappyVersion@
 #
 GHC_HAPPY_OPTS         = -agc
 
+# Temp. to work around performance problems in the HEAD around 8/12/2003,
+# A Happy compiled with this compiler needs more stack.
+SRC_HAPPY_OPTS         = +RTS -K2m -RTS
+
 #
 # Alex
 #
@@ -1025,6 +1043,34 @@ WAY_mg_NAME=GranSim
 WAY_mg_HC_OPTS=-gransim
 
 #
+# These ways apply to the RTS only:
+#
+
+# Way 'thr':
+WAY_thr_NAME=threaded
+WAY_thr_HC_OPTS=-optc-DTHREADED_RTS
+
+# Way 'thr_p':
+WAY_thr_p_NAME=threaded profiled
+WAY_thr_p_HC_OPTS=-optc-DTHREADED_RTS -prof
+
+# Way 'debug':
+WAY_debug_NAME=debug
+WAY_debug_HC_OPTS=-optc-DDEBUG
+
+# Way 'debug_p':
+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:
 #
 WAY_A_NAME=