X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=71aa5149be25e2e623e87c7da9c95ddf399ec33d;hb=c1c1e720a1e42df940c932f789f74bd5bcff4882;hp=d29a7d6b021a5a97ec25c3a940284975c9fe4f29;hpb=b38fc90a990ebdc9bb30525e1656f7fc80c3c170;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index d29a7d6..71aa514 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -145,9 +145,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 # @@ -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,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 @@ -408,6 +406,7 @@ GLUT_LIBS=@GLUT_LIBS@ # X11 stuff # +GhcLibsWithX11=@GhcLibsWithX11@ X_CFLAGS=@X_CFLAGS@ X_LIBS=@X_LIBS@ @@ -522,21 +521,52 @@ FPTOOLS_TOP_ABS_PLATFORM = @hardtop_plat@ # but since the configure script has them on offer while # passing through, we might as well set them. +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" + 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 "$(strip $(prefix))" "" +prefix = c:/ghc +endif + +ifacedir = $(libdir) + +ifeq "$(strip $(exec_prefix))" "" +exec_prefix = $(prefix) +endif +ifeq "$(strip $(bindir))" "" +bindir = $(exec_prefix)/bin +endif + +libexecdir = $(libdir) + +ifeq "$(strip $(datadir))" "" +datadir = $(prefix)/imports +endif +ifeq "$(strip $(libdir))" "" +libdir = $(prefix) +endif +ifeq "$(strip $(includedir))" "" +includedir = $(prefix)/include +endif + +else + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +datadir0 = @datadir@ +libdir0 = @libdir@ +includedir = @includedir@ +oldincludedir = @oldincludedir@ +mandir = @mandir@ # # override libdir and datadir to put project-specific stuff in @@ -586,6 +616,9 @@ ifeq "$(strip $(mandir))" "" mandir = $(prefix)/man endif +endif # i386-unknown-mingw32 + + ################################################################################ # # Utilities programs: flags @@ -680,6 +713,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@ @@ -719,11 +753,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 @@ -926,6 +962,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 # @@ -1036,6 +1076,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=