X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fconfig.mk.in;h=3882c26bdb668c835f4ebe982d1780b511aceb24;hp=2daf62354c8b5dc658fbb8f00aa1c1a9fd81b45d;hb=190b2d90f92f61eb802275729106b5d9fb9a7a7c;hpb=30fad70245d9ddfae0b781460bc51468a01f92f6 diff --git a/mk/config.mk.in b/mk/config.mk.in index 2daf623..3882c26 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -97,13 +97,19 @@ GhcStage1HcOpts= GhcStage2HcOpts=-O2 GhcStage3HcOpts=-O2 -GhcProfiled=NO GhcDebugged=NO GhcDynamic=NO -GhcLibProfiled=$(if $(filter p,$(GhcLibWays)),YES,NO) + +# GhcProfiled=YES means compile a profiled stage-2 compiler +GhcProfiled=NO # Do we support shared libs? -PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),i386-unknown-linux x86_64-unknown-linux i386-unknown-freebsd x86_64-unknown-freebsd i386-unknown-mingw32 i386-apple-darwin powerpc-apple-darwin),YES,NO) +PlatformSupportsSharedLibs = $(if $(filter $(TARGETPLATFORM),\ + i386-unknown-linux x86_64-unknown-linux \ + i386-unknown-freebsd x86_64-unknown-freebsd \ + i386-unknown-openbsd x86_64-unknown-openbsd \ + i386-unknown-mingw32 \ + i386-apple-darwin powerpc-apple-darwin),YES,NO) # Build a compiler that will build *unregisterised* libraries and # binaries by default. Unregisterised code is supposed to compile and @@ -177,7 +183,7 @@ endif # Whether to use libffi for adjustors (foreign import "wrapper") or # not. If we have built-in support (rts/Adjustor.c) then we use that, # otherwise we fall back on libffi, which is slightly slower. -ArchHasAdjustorSupport=$(strip $(if $(findstring $(HostArch_CPP),i386 x86_64 powerpc,),YES,NO)) +ArchHasAdjustorSupport = $(if $(findstring $(HostArch_CPP),i386 x86_64),YES,NO) ifeq "$(ArchHasAdjustorSupport)" "YES" UseLibFFIForAdjustors=NO else @@ -290,15 +296,16 @@ PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} # doing object-file splitting ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO)) +# Object splitting is disabled on darwin due to #4013 +OsSupportsSplitObjs=$(strip $(if $(filter $(TargetOS_CPP),mingw32 cygwin32 linux solaris2 freebsd dragonfly netbsd openbsd),YES,NO)) # lazy test, so that $(GhcUnregisterised) can be set in build.mk -SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\ - $(if $(filter NO,$(BootingFromHc)),\ - $(if $(filter NO,$(GhcUnregisterised)),\ - YES,\ - NO),\ - NO),\ - NO)) +SupportsSplitObjs=$(strip \ + $(if $(and $(filter YES,$(ArchSupportsSplitObjs)),\ + $(filter YES,$(OsSupportsSplitObjs)),\ + $(filter NO,$(BootingFromHc)),\ + $(filter NO,$(GhcUnregisterised))),\ + YES,NO)) # By default, enable SplitObjs for the libraries if this build supports it SplitObjs=$(SupportsSplitObjs) @@ -534,7 +541,8 @@ endif endif # C compiler and linker flags from configure (e.g. -m to select -# correct C compiler backend). +# correct C compiler backend). The stage number is the stage of GHC +# that is being used to compile with. CONF_CC_OPTS_STAGE0 = @CONF_CC_OPTS_STAGE0@ CONF_CC_OPTS_STAGE1 = @CONF_CC_OPTS_STAGE1@ CONF_CC_OPTS_STAGE2 = @CONF_CC_OPTS_STAGE2@ @@ -626,10 +634,12 @@ LdIsGNULd = @LdIsGNULd@ # On MSYS, building with SplitObjs=YES fails with # ar: Bad file number # see #3201. We need to specify a smaller max command-line size -# to work around it. 32767 doesn't work; 30000 does. +# to work around it. 32767 doesn't work; 30000 does, but says +# xargs: value for -s option should be < 28153 +# so we now use 20000 to be comfortably below this bound XARGS = xargs ifeq "$(Windows)" "YES" -XARGS_OPTS = -s 30000 +XARGS_OPTS = -s 20000 endif # @@ -725,9 +735,9 @@ SRC_ALEX_OPTS = -g HSTAGS = @HstagsCmd@ # Should we build haddock docs? -HADDOCK_DOCS = $(GhcWithInterpreter) +HADDOCK_DOCS = YES # And HsColour the sources? -ifeq "$(HSCOLOUR)" "" +ifeq "$(HSCOLOUR_CMD)" "" HSCOLOUR_SRCS = NO else HSCOLOUR_SRCS = YES