X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=85625e36de70bd2932d13beb0559f0adafaf7e45;hb=d19f868a2fbfb583e57d9c47b97c0cdb3a95ae57;hp=73e9e6920fe9e8f9162d030a171bf3ec63effd3e;hpb=89d6434a7ddb499c5b09eb3c70437782b0dcd501;p=ghc-hetmet.git diff --git a/mk/config.mk.in b/mk/config.mk.in index 73e9e69..85625e3 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -32,6 +32,11 @@ # 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= @@ -255,7 +260,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)" "YESYES" GhcWithNativeCodeGen=YES else GhcWithNativeCodeGen=NO @@ -265,14 +274,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 +320,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 +355,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 @@ -371,7 +381,7 @@ endif # For an optimised RTS (you probably don't want to change these; we build # a debugging RTS by default now. Use -debug to get it). -GhcRtsHcOpts=-O2 +GhcRtsHcOpts=-optc-O2 GhcRtsCcOpts=-fomit-frame-pointer # Include the front panel code? Needs GTK+. @@ -1040,7 +1050,7 @@ WAY_u_HC_OPTS=-unreg # Way `s': WAY_s_NAME=threads (for SMP) -WAY_s_HC_OPTS=-smp +WAY_s_HC_OPTS=-smp -optc-DTHREADED_RTS # Way `mp': WAY_mp_NAME=parallel @@ -1074,6 +1084,10 @@ WAY_debug_p_HC_OPTS=-optc-DDEBUG -prof WAY_debug_u_NAME=debug unregisterised WAY_debug_u_HC_OPTS=-optc-DDEBUG -unreg +# Way 'debug_s': +WAY_debug_s_NAME=debug SMP +WAY_debug_s_HC_OPTS=-optc-DDEBUG -optc-DTHREADED_RTS -smp + # Way 'thr_debug': WAY_thr_debug_NAME=threaded WAY_thr_debug_HC_OPTS=-optc-DTHREADED_RTS -optc-DDEBUG