X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=49287dee231ce0f06cc0abb4b881aef19f06d08d;hb=99b4825c2a570767e9fa4ceab786476b07c7ac59;hp=840e6ffa35ffc928c0f3923c596d8e40074c36e9;hpb=39c84a7df1a17472e9c4edc6d0ad8c3e5e21376a;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 840e6ff..49287de 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -100,6 +100,10 @@ exeext=@exeext@ # BootingFromHc - build GHC and the libraries from .hc files? BootingFromHc = @BootingFromHc@ +# BootingFromUnregisterisedHc - treat .hc files as containing unregisterised +# rather than registerised code, i.e., disable the mangler? +BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@ + # build the libs first if we're bootstrapping from .hc files ifeq "$(BootingFromHc)" "YES" AllProjects = glafp-utils hslibs ghc green-card happy hdirect hood nofib @@ -148,16 +152,26 @@ GhcCompilerWays= # Extra option flags to pass to the compiler that compiles the compiler # (Ones that are essential are wired into ghc/compiler/Makefile) -# Typical ones: -# -H25m allocate a bigger heap (might speed up compilation) -# -# -O compile an optimised compiler +# Typical options to use here: # -# -DDEBUG include consistency/assertion checks in the compiled compiler +# -DDEBUG include debugging code and assertions (will make the +# compiler slower and produce debugging output, but useful +# for development) # # -dcore-lint check the types after every pass of the compiler; -# a pretty strong internal check -GhcHcOpts=-O -Rghc-timing +# a pretty strong internal check of the compiler being +# 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 # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and @@ -181,8 +195,8 @@ GhcUnregisterised=NO # (as well as a C backend) # # Target platforms supported: -# i386, alpha & sparc -ifneq "$(findstring $(HostArch_CPP), i386 alpha sparc)" "" +# i386 & sparc +ifneq "$(findstring $(HostArch_CPP), i386 sparc)" "" GhcWithNativeCodeGen=YES else GhcWithNativeCodeGen=NO @@ -192,7 +206,7 @@ HaveLibDL = @HaveLibDL@ # Include GHCi in the compiler. Default to NO for the time being. -ifneq "$(findstring $(HostOS_CPP), mingw32 linux solaris2 freebsd netbsd openbsd)" "" +ifneq "$(findstring $(HostOS_CPP), mingw32 linux solaris2 freebsd netbsd openbsd osf3)" "" GhcWithInterpreter=YES ifeq "$(HaveLibDL)" "YES" SRC_HC_OPTS += -ldl @@ -298,9 +312,6 @@ HsLibsFor = ghc # hslibs for GHC also uses the following variables (defined above): # GhcLibWays, GhcLibHcOpts, GhcLibToolsHcOpts, DLLized, StripLibraries -# Haskell compiler options for tools in hslibs -GhcLibToolsHcOpts=-O - # Build the Haskell Readline bindings? # GhcLibsWithReadline=@HaveReadlineHeaders@ @@ -435,6 +446,7 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ datadir = @datadir@ + #sysconfdir = @datadir@ #sharedstatedir = @sharedstatedir@ #localstatedir = @localstatedir@ @@ -443,10 +455,16 @@ includedir = @includedir@ oldincludedir = @oldincludedir@ mandir = @mandir@ -#UNUSED, see below: libexecdir = @libexecdir@ #UNUSED:infodir = @infodir@ #UNUSED:srcdir = @srcdir@ +# +# override libdir and datadir to put project-specific stuff in +# a subdirectory with the version number included. +# +libdir := $(if $(ProjectNameShort),$(libdir)/$(ProjectNameShort)-$(ProjectVersion),$(libdir)) +datadir := $(if $(ProjectNameShort),$(datadir)/$(ProjectNameShort)-$(ProjectVersion),$(datadir)) + # # Default values for most of the above are only set if # they weren't configured to anything in particular @@ -599,7 +617,10 @@ GHC_INPLACE = $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace #----------------------------------------------------------------------------- # C compiler # -# +# NB. Don't override $(WhatGccIsCalled) using build.mk, re-configure using +# the flag --with-gcc= instead. The reason is that the configure script +# needs to know which gcc you're using in order to perform its tests. + HaveGcc = @HaveGcc@ UseGcc = YES WhatGccIsCalled = @WhatGccIsCalled@ @@ -612,10 +633,7 @@ endif endif # default C compiler flags -SRC_CC_OPTS = -O -ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -SRC_CC_OPTS += -mno-cygwin -mwin32 -endif +SRC_CC_OPTS = @SRC_CC_OPTS@ #----------------------------------------------------------------------------- # GMP Library (version 2.0.x or above) @@ -647,6 +665,7 @@ FLEX_LIB = # Other standard (ha!) Unix utilities AR = @ArCmd@ +ArSupportsInput = @ArSupportsInput@ # Yuckage: for ghc/utils/parallel -- todo: nuke this dependency!! BASH = /usr/local/bin/bash # @@ -659,7 +678,11 @@ CONTEXT_DIFF = @ContextDiffCmd@ CP = cp CPP = @CPP@ CTAGS = $(ETAGS) -RAWCPP = $(CPP) -undef -traditional +# +# RAWCPP_FLAGS are the flags to give to cpp (viz, gcc -E) to persuade it to +# behave plausibly on Haskell sources. +# +RAWCPP_FLAGS = -undef -traditional FIND = @FindCmd@ INSTALL = @INSTALL@ # @@ -772,6 +795,12 @@ GREENCARD = $(FPTOOLS_TOP)/green-card/src/green-card BLD_DLL = dllwrap # +# .NET support software +# +ILX2IL = ilx2il +ILASM = ilasm + +# # Happy # HAPPY = @HappyCmd@ @@ -836,7 +865,7 @@ HSC2HS = $(HSC2HS_PREFIX)hsc2hs-inplace # The ways currently defined. # ALL_WAYS=p t u s mp mg a b c d e f g h i j k l m n o A B -USER_WAYS=a b c d e f g h i j k l m n o A B +USER_WAYS=a b c d e f g h j k l m n o A B # # The following ways currently have treated specially, p u t mg, @@ -846,6 +875,10 @@ USER_WAYS=a b c d e f g h i j k l m n o A B # # If you want to add to these default options, fill in the variables below: +# Way 'i': +WAY_i_NAME=ILX +WAY_i_HC_OPTS= -filx + # Way 'p': WAY_p_NAME=profiling WAY_p_HC_OPTS= -prof