turn on unregisterised by default for alpha, hppa
[ghc-hetmet.git] / mk / config.mk.in
index b10d403..edfff7c 100644 (file)
 # a section corresponding to each of the main .mk files 
 # included by boilerplate.mk (see boilerplate.mk for a list).
 
+ifneq "$(findstring 3.7, $(MAKE_VERSION))" ""
+ifeq "$(findstring 3.79.1, $(MAKE_VERSION))" ""
+$(error GNU make version 3.79.1 or later is required.)
+endif
+endif
 
 ################################################################################
 #
@@ -187,7 +192,7 @@ IncludeExampleDirsInBuild=NO
 
 #
 # Which ways should DocBook XML documents be built?
-# options are: dvi ps pdf html
+# options are: dvi ps pdf html chm HxS
 #
 XMLDocWays=
 
@@ -247,7 +252,11 @@ GhcStage3HcOpts=
 # the compiler you build with is generating registerised binaries), but
 # the stage2 compiler will be an unregisterised binary.
 #
+ifneq "$(findstring $(HostArch_CPP), alpha hppa)" ""
+GhcUnregisterised=YES
+else
 GhcUnregisterised=NO
+endif
 
 # Build a compiler with a native code generator backend
 # (as well as a C backend)
@@ -255,7 +264,11 @@ GhcUnregisterised=NO
 # Target platforms supported:
 #   i386, powerpc
 #   sparc has bitrotted
-ifneq "$(findstring $(HostArch_CPP), i386 x86_64 powerpc)" ""
+#   AIX is not supported 
+ArchSupportsNCG=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc)))
+OsSupportsNCG=$(strip $(patsubst $(HostOS_CPP), YES, $(patsubst aix,,$(HostOS_CPP))))
+
+ifeq "$(OsSupportsNCG)$(ArchSupportsNCG)$(GhcUnregisterised)" "YESYESNO"
 GhcWithNativeCodeGen=YES
 else
 GhcWithNativeCodeGen=NO
@@ -265,14 +278,12 @@ endif
 GhcWithJavaGen=NO
 
 HaveLibDL = @HaveLibDL@
-HaveRtldNext = @HaveRtldNext@
-HaveRtldLocal = @HaveRtldLocal@
 
 # Whether to include GHCi in the compiler.  Depends on whether the RTS linker
 # has support for this OS/ARCH combination.
 
 OsSupportsGHCi=$(strip $(patsubst $(HostOS_CPP), YES, $(findstring $(HostOS_CPP), mingw32 cygwin32 linux solaris2 freebsd netbsd openbsd darwin)))
-ArchSupportsGHCi=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 powerpc powerpc64 sparc sparc64)))
+ArchSupportsGHCi=$(strip $(patsubst $(HostArch_CPP), YES, $(findstring $(HostArch_CPP), i386 x86_64 powerpc powerpc64 sparc sparc64)))
 
 ifeq "$(OsSupportsGHCi)$(ArchSupportsGHCi)" "YESYES"
 GhcWithInterpreter=YES
@@ -313,7 +324,7 @@ endif
 ifeq "$(BootingFromHc)" "YES"
 GhcRTSWays=
 else
-GhcRTSWays=thr thr_p debug
+GhcRTSWays=thr thr_p debug thr_debug
 endif
 
 # Option flags to pass to GHC when it's compiling modules in
@@ -348,11 +359,14 @@ StripLibraries=NO
 #      Don't use -split-objs in in GhcLibHcOpts, because the build
 #              system needs to do other special magic if you are
 #              doing object-file splitting
+ifneq "$(findstring $(HostArch_CPP), i386 x86_64 powerpc sparc)" ""
+SplitObjs=YES
+else
+SplitObjs=NO
+endif
 
 # Don't split object files for libs if we're building DLLs, or booting from
 # .hc files.
-SplitObjs=YES
-
 ifeq "$(DLLized)" "YES"
 SplitObjs=NO
 endif
@@ -370,8 +384,8 @@ endif
 # Options for GHC's 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
+# a debugging RTS by default now.  Use -debug to get it).
+GhcRtsHcOpts=-optc-O2
 GhcRtsCcOpts=-fomit-frame-pointer
 
 # Include the front panel code?  Needs GTK+.
@@ -471,6 +485,9 @@ NoFibWays = $(GhcLibWays)
 # Haskell compiler options for nofib
 NoFibHcOpts = -O
 
+# Number of times to run each program
+NoFibRuns = 5
+
 # ==============================================================================
 #
 #                      END OF PROJECT-SPECIFIC STUFF
@@ -1035,10 +1052,6 @@ WAY_t_HC_OPTS= -ticky
 WAY_u_NAME=unregisterized (using portable C only)
 WAY_u_HC_OPTS=-unreg
 
-# Way `s':
-WAY_s_NAME=threads (for SMP)
-WAY_s_HC_OPTS=-smp
-
 # Way `mp': 
 WAY_mp_NAME=parallel
 WAY_mp_HC_OPTS=-parallel