X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=df9e0d27abe3b8d21f1ed7bcd5733cc61534af9b;hp=7cae94a6c4d01f77f7bea677e67e3d885d60288c;hb=e11c0f8efedcd6920bc77b105f6053520f85e3a0;hpb=2e5a06c0dbb68263be966050c34e5b1479bd93ac diff --git a/mk/config.mk.in b/mk/config.mk.in index 7cae94a..df9e0d2 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -41,14 +41,48 @@ # A "platform" is the GNU cpu-type/manufacturer/operating-system target machine # specifier. E.g. sparc-sun-solaris2 +# +# Build platform: the platform on which we are doing this build +# Host platform: the platform on which these binaries will run +# Target platform: the platform for which this compiler will generate code +# +# We don't support build & host being different, because the build +# process creates binaries that are run during the build, and also +# installed. +# +# If host & target are different, then we are building a compiler +# which will generate intermediate .hc files to port to the target +# architecture for bootstrapping. The libraries and stage 2 compiler +# will be built as HC files for the target system, and likely won't +# build on this host platform. +# +# Guidelines for when to use HOST vs. TARGET: +# +# - In the build system (Makefile, foo.mk), normally we should test +# $(HOSTPLATFORM). There are some cases (eg. installation), where +# we expect $(HOSTPLATFORM)==$(TARGETPLATFORM), so in those cases it +# doesn't matter which is used. +# +# - In the compiler itself, we should test HOST or TARGET depending +# on whether the conditional relates to the code being generated, or +# the platform on which the compiler is running. For stage 2, +# HOSTPLATFORM should be reset to be TARGETPLATFORM (we currently +# don't do this, but we should). +# +# - In the RTS and library code, we should be testing TARGET only. +# +# NOTE: cross-compiling is not well supported by the build system. +# You have to do a lot of work by hand to cross compile: see the +# section on "Porting GHC" in the Building Guide. HOSTPLATFORM = @HostPlatform@ TARGETPLATFORM = @TargetPlatform@ -BUILDPLATFORM = @HostPlatform@ +BUILDPLATFORM = @BuildPlatform@ # Hack alert: -# in one or two places, we need to get at the OS version (major and perhaps even minor), -# HostOS_Full is the OS name reported by AC_CANONICAL_SYSTEM. +# in one or two places, we need to get at the OS version (major and +# perhaps even minor), HostOS_Full is the OS name reported by +# AC_CANONICAL_SYSTEM. # HostPlatform_CPP = @HostPlatform_CPP@ HostArch_CPP = @HostArch_CPP@ @@ -56,25 +90,31 @@ HostOS_CPP = @HostOS_CPP@ HostOS_Full = @HostOS_Full@ HostVendor_CPP = @HostVendor_CPP@ -# -# ToDo: check if these can be purged now. -- sof -# +TargetPlatform_CPP = @TargetPlatform_CPP@ +TargetArch_CPP = @TargetArch_CPP@ +TargetOS_CPP = @TargetOS_CPP@ +TargetVendor_CPP = @TargetVendor_CPP@ -@HostPlatform_CPP@_HOST = 1 -@HostPlatform_CPP@_TARGET = 1 -@HostPlatform_CPP@_BUILD = 1 +BuildPlatform_CPP = @BuildPlatform_CPP@ +BuildArch_CPP = @BuildArch_CPP@ +BuildOS_CPP = @BuildOS_CPP@ +BuildVendor_CPP = @BuildVendor_CPP@ -@HostArch_CPP@_HOST_ARCH = 1 -@HostArch_CPP@_TARGET_ARCH = 1 -@HostArch_CPP@_BUILD_ARCH = 1 +@HostPlatform_CPP@_HOST = 1 +@TargetPlatform_CPP@_TARGET = 1 +@BuildPlatform_CPP@_BUILD = 1 -@HostOS_CPP@_HOST_OS = 1 -@HostOS_CPP@_TARGET_OS = 1 -@HostOS_CPP@_BUILD_OS = 1 +@HostArch_CPP@_HOST_ARCH = 1 +@TargetArch_CPP@_TARGET_ARCH = 1 +@BuildArch_CPP@_BUILD_ARCH = 1 -@HostVendor_CPP@_HOST_VENDOR = 1 -@HostVendor_CPP@_TARGET_VENDOR = 1 -@HostVendor_CPP@_BUILD_VENDOR = 1 +@HostOS_CPP@_HOST_OS = 1 +@TargetOS_CPP@_TARGET_OS = 1 +@BuildOS_CPP@_BUILD_OS = 1 + +@HostVendor_CPP@_HOST_VENDOR = 1 +@TargetVendor_CPP@_TARGET_VENDOR = 1 +@BuildVendor_CPP@_BUILD_VENDOR = 1 # Leading underscores on symbol names in object files # Valid options: YES/NO @@ -84,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 @@ -99,11 +146,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 green-card happy hdirect hood nofib haddock +AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib docs else -AllProjects = glafp-utils ghc libraries hslibs green-card happy hdirect hood nofib haddock +AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib docs endif # @@ -124,10 +175,15 @@ ProjectsDontInstall = glafp-utils nofib IncludeTestDirsInBuild=NO # -# Which ways should SGML documents be built? -# options are: dvi ps pdf html rtf +# Should the various project example directories be built? # -SGMLDocWays= +IncludeExampleDirsInBuild=NO + +# +# Which ways should DocBook XML documents be built? +# options are: dvi ps pdf html +# +XMLDocWays= ################################################################################ # @@ -164,15 +220,12 @@ GhcCompilerWays= # used to compile GHC. Useful when bootstrapping. GhcHcOpts=-Rghc-timing -# Extra Haskell compiler options to use when compiling all Haskell -# *programs* (not libraries), including GHC itself. -# Typical options to use here: -# -# -H25m use a bigger heap (to speed up compilation) -# -# -O compile an optimised compiler -# -FptoolsHcOpts=-O +# Extra options added to specific stages of the compiler bootstrap. +# These are placed later on the command line, and may therefore +# override options from $(GhcHcOpts). +GhcStage1HcOpts= +GhcStage2HcOpts= +GhcStage3HcOpts= # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and @@ -184,11 +237,9 @@ FptoolsHcOpts=-O # (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 @@ -196,8 +247,9 @@ GhcUnregisterised=NO # (as well as a C backend) # # Target platforms supported: -# i386 & sparc -ifneq "$(findstring $(HostArch_CPP), i386 sparc)" "" +# i386, powerpc +# sparc has bitrotted +ifneq "$(findstring $(HostArch_CPP), i386 powerpc)" "" GhcWithNativeCodeGen=YES else GhcWithNativeCodeGen=NO @@ -212,11 +264,8 @@ HaveRtldLocal = @HaveRtldLocal@ # Include GHCi in the compiler. Default to NO for the time being. -ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd)" "" +ifneq "$(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd darwin)" "" GhcWithInterpreter=YES -ifeq "$(HaveLibDL)" "YES" -SRC_HC_OPTS += -ldl -endif else GhcWithInterpreter=NO endif @@ -240,6 +289,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 @@ -299,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 @@ -333,7 +380,7 @@ GhcRtsThreaded=@ThreadedRts@ # Build the Haskell Readline bindings? # -GhcLibsWithReadline=@HaveReadlineHeaders@ +GhcLibsWithReadline=@GhcLibsWithReadline@ # Libraries needed for linking with readline LibsReadline=@LibsReadline@ @@ -350,15 +397,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 @@ -385,9 +452,9 @@ HappyHcOpts = -O ################################################################################ # -# green-card project +# greencard project # -# Green-card specific options +# GreenCard specific options # ################################################################################ @@ -466,37 +533,36 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ datadir0 = @datadir@ - -#sysconfdir = @datadir@ -#sharedstatedir = @sharedstatedir@ -#localstatedir = @localstatedir@ -ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" libdir0 = @libdir@ -else -libdir0 = @prefix@ -endif 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. # -ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" libdir = $(if $(ProjectNameShort),$(libdir0)/$(ProjectNameShort)-$(ProjectVersion),$(libdir0)) datadir = $(if $(ProjectNameShort),$(datadir0)/$(ProjectNameShort)-$(ProjectVersion),$(datadir0)) -else -libdir = $(libdir0) -datadir = $(datadir0) -endif + +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 @@ -535,12 +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 @@ -552,6 +637,8 @@ endif # # SRC_HC_OPTS += -O +SRC_HC_OPTS += -H16m -O + # These flags make flex 8-bit SRC_FLEX_OPTS += -8 @@ -602,7 +689,6 @@ RUNTEST_PREFIX = $(GLAFP_UTILS)/runstdtest/ VERBATIM_PREFIX = $(GLAFP_UTILS)/verbatim/ SGMLVERB_PREFIX = $(GLAFP_UTILS)/sgmlverb/ ETAGS_PREFIX = $(GLAFP_UTILS)/etags/ -MSUB_PREFIX = $(GLAFP_UTILS)/msub/ LNDIR_PREFIX = $(GLAFP_UTILS)/lndir/ MKDIRHIER_PREFIX = $(GLAFP_UTILS)/mkdirhier/ DOCBOOK_PREFIX = $(GLAFP_UTILS)/docbook/ @@ -613,7 +699,7 @@ LITERATE_PREFIX = $(FPTOOLS_TOP)/literate/ UNLIT_PREFIX = $(FPTOOLS_TOP)/ghc/utils/unlit/ HP2PS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hp2ps/ -HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hstags/ +HSTAGS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hasktags/ HSC2HS_PREFIX = $(FPTOOLS_TOP)/ghc/utils/hsc2hs/ #----------------------------------------------------------------------------- @@ -629,12 +715,23 @@ 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@ GhcPatchLevel = @GhcPatchLevel@ -# Canonicalised ghc version number, used for easy (integer) version comparisons. + +# Canonicalised ghc version number, used for easy (integer) version +# comparisons. We must expand $(GhcMinVersion) to two digits by +# adding a leading zero if necessary: +ifneq "$(findstring $(GhcMinVersion), 0 1 2 3 4 5 6 7 8 9)" "" +GhcCanonVersion = $(GhcMajVersion)0$(GhcMinVersion) +else GhcCanonVersion = $(GhcMajVersion)$(GhcMinVersion) +endif + +# Set to YES if $(GHC) has the readline package installed +GhcHasReadline = @GhcHasReadline@ HBC = @HBC@ NHC = @NHC@ @@ -647,6 +744,9 @@ MKDEPENDHS = $(GHC) # tree). We can refer to "this ghc" as $(GHC_INPLACE): GHC_INPLACE = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace +GHC_STAGE1 = $(FPTOOLS_TOP)/ghc/compiler/stage1/ghc-inplace +GHC_STAGE2 = $(FPTOOLS_TOP)/ghc/compiler/stage2/ghc-inplace +GHC_STAGE3 = $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace #----------------------------------------------------------------------------- # C compiler @@ -658,11 +758,13 @@ GHC_INPLACE = $(FPTOOLS_TOP)/ghc/compiler/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 @@ -685,24 +787,27 @@ LibGmp = @LibGmp@ HaveLibMingwEx = @HaveLibMingwEx@ #----------------------------------------------------------------------------- -# Regex libraries +# HaskellSupport framework (Mac OS X) +# +HaveFrameworkHaskellSupport = @HaveFrameworkHaskellSupport@ + +#----------------------------------------------------------------------------- +# Regex library # (if present in libc use that one, otherwise use the one in the tree) # HavePosixRegex = @HavePosixRegex@ -HaveGNURegex = @HaveGNURegex@ #----------------------------------------------------------------------------- # GTK+ GTK_CONFIG = @GTK_CONFIG@ -GTK_VERSION = @GTK_VERSION@ #----------------------------------------------------------------------------- -# Flex +# Flex (currently unused, could be moved to glafp-utils) -FLEX = @LEX@ +# FLEX = @LEX@ # Don't bother with -lfl, we define our own yywrap()s anyway. -FLEX_LIB = +# FLEX_LIB = #WAS:FLEX_LIB = @LEXLIB@ #----------------------------------------------------------------------------- @@ -712,11 +817,6 @@ AR = @ArCmd@ ArSupportsInput = @ArSupportsInput@ # Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!! BASH = /usr/local/bin/bash -# -# Could be either gzip or compress -# -COMPRESS = @CompressCmd@ -COMPRESS_SUFFIX = @CompressSuffix@ CONTEXT_DIFF = @ContextDiffCmd@ CP = cp @@ -744,9 +844,9 @@ MSMACROS = -ms MV = mv NROFF = nroff PERL = @PerlCmd@ +PYTHON = @PythonCmd@ PIC = pic PREPROCESSCMD = $(CC) -E -PRINTER = lpr RANLIB = @RANLIB@ RM = rm -f SED = @SedCmd@ @@ -787,11 +887,6 @@ TAR = @TarCmd@ ZIP = zip # -# Under Windows, we have to deal with .exe suffixes -# -EXE_SUFFIX=@exeext@ - -# # This is special to literate/, ToDo: add literate-specific # configure setup to literate/. # @@ -804,28 +899,22 @@ TIB = tib TIME = @TimeCmd@ TROFF = troff UNAME = uname -YACC = @YaccCmd@ #----------------------------------------------------------------------------- -# SGML stuff - -JADE = @JadeCmd@ +# DocBook XML stuff -SGML2DVI = $(DOCBOOK_PREFIX)db2dvi -SGML2HTML = $(DOCBOOK_PREFIX)db2html -SGML2PS = $(DOCBOOK_PREFIX)db2ps -SGML2PDF = $(DOCBOOK_PREFIX)db2pdf -SGML2RTF = $(DOCBOOK_PREFIX)db2rtf +XSLTPROC = @XsltprocCmd@ +XMLLINT = @XmllintCmd@ +FOP = @FopCmd@ +XMLTEX = @XmltexCmd@ +PDFXMLTEX = @PdfxmltexCmd@ +DVIPS = @DvipsCmd@ -SGMLSTYLESHEET = $(FPTOOLS_TOP_ABS)/docs/fptools-both.dsl +DIR_DOCBOOK_XSL = @DIR_DOCBOOK_XSL@ -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 @@ -835,13 +924,11 @@ MKDEPENDC = $(MKDEPENDC_PREFIX)mkdependC LTX = $(LTX_PREFIX)ltx MKDIRHIER = $(MKDIRHIER_PREFIX)mkdirhier LNDIR = $(LNDIR_PREFIX)lndir -MSUB = $(MSUB_PREFIX)msub ETAGS = $(ETAGS_PREFIX)etags VERBATIM = $(VERBATIM_PREFIX)verbatim SGMLVERB = $(SGMLVERB_PREFIX)sgmlverb RUNTEST = $(RUNTEST_PREFIX)runstdtest LX = @LxCmd@ -GREENCARD = $(FPTOOLS_TOP)/green-card/src/green-card BLD_DLL = dllwrap @@ -852,6 +939,17 @@ ILX2IL = ilx2il ILASM = ilasm # +# ghc-pkg +# +GHC_PKG = @GhcPkgCmd@ + +# +# GreenCard +# +GREENCARD = @GreenCardCmd@ +GREENCARD_VERSION = @GreenCardVersion@ + +# # Happy # HAPPY = @HappyCmd@ @@ -861,6 +959,20 @@ 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 +# +ALEX = @AlexCmd@ +ALEX_VERSION = @AlexVersion@ +# +# Options to pass to Happy when we're going to compile the output with GHC +# +GHC_ALEX_OPTS = -g + # # Haddock # @@ -880,9 +992,9 @@ LIT2TEXT = $(LITERATE_PREFIX)lit2text # # Stuff from fptools/ghc/utils # -UNLIT = $(UNLIT_PREFIX)unlit$(EXE_SUFFIX) -HP2PS = $(HP2PS_PREFIX)hp2ps$(EXE_SUFFIX) -HSTAGS = $(HSTAGS_PREFIX)hstags +UNLIT = $(UNLIT_PREFIX)unlit$(exeext) +HP2PS = $(HP2PS_PREFIX)hp2ps$(exeext) +HSTAGS = $(HSTAGS_PREFIX)hasktags HSC2HS = $(HSC2HS_PREFIX)hsc2hs-inplace # @@ -961,6 +1073,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=