X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=mk%2Fconfig.mk.in;h=4627356b7e4b28f8107f1554d38dbed64dfdf206;hb=aeecdc1180a479d891cfa8e386348c3f57c7905d;hp=97214677d7e5b5a28517fbd705bad177df6a0f5c;hpb=2b7c9eee6ede798b77cea465f4207d881a4eaf73;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 9721467..4627356 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -139,11 +139,15 @@ BootingFromHc = @BootingFromHc@ # rather than registerised code, i.e., disable the mangler? BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@ -# build the libs first if we're bootstrapping from .hc files +# Build Order: we build Happy, Haddock and Alex before GHC if they are +# in this source tree, just in case our GHC build depends on these +# local builds rather than installed versions of the tools. +# +# Build the libs first if we're bootstrapping from .hc files. ifeq "$(BootingFromHc)" "YES" -AllProjects = glafp-utils libraries hslibs ghc greencard happy hdirect hood nofib haddock alex +AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib else -AllProjects = glafp-utils ghc libraries hslibs greencard happy hdirect hood nofib haddock alex +AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib endif # @@ -164,6 +168,11 @@ ProjectsDontInstall = glafp-utils nofib IncludeTestDirsInBuild=NO # +# Should the various project example directories be built? +# +IncludeExampleDirsInBuild=NO + +# # Which ways should SGML documents be built? # options are: dvi ps pdf html rtf # @@ -221,11 +230,9 @@ GhcStage3HcOpts= # (way 'u') to get unregisterised code, but the default way will be # registerised. # -# NOTE: this is not the same as building the compiler itself -# unregisterised. That's done by either (a) bootstrapping with a -# compiler that was built with GhcUnregisterised=YES, or (b) -# bootstrapping with a compiler that has way 'u' libraries, and the -# flag '-unreg' is added to GhcHcOpts above. +# NOTE: the stage1 compiler will be a registerised binary (assuming +# the compiler you build with is generating registerised binaries), but +# the stage2 compiler will be an unregisterised binary. # GhcUnregisterised=NO @@ -274,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 @@ -333,32 +356,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 @@ -367,7 +372,7 @@ GhcRtsThreaded=@ThreadedRts@ # Build the Haskell Readline bindings? # -GhcLibsWithReadline=@HaveReadlineHeaders@ +GhcLibsWithReadline=@GhcLibsWithReadline@ # Libraries needed for linking with readline LibsReadline=@LibsReadline@ @@ -384,22 +389,35 @@ 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 +# +GhcLibsWithX11=@GhcLibsWithX11@ X_CFLAGS=@X_CFLAGS@ X_LIBS=@X_LIBS@ - -# # .NET interop support? # DotnetSupport=@DotnetSupport@ +# Build unix package? +# +GhcLibsWithUnix=@GhcLibsWithUnix@ + ################################################################################ # # happy project @@ -744,7 +762,6 @@ HavePosixRegex = @HavePosixRegex@ # GTK+ GTK_CONFIG = @GTK_CONFIG@ -GTK_VERSION = @GTK_VERSION@ #----------------------------------------------------------------------------- # Flex (currently unused, could be moved to glafp-utils) @@ -908,6 +925,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 # @@ -1018,6 +1039,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=