From 0b2bbce85ae2fc9ca99d9b98be57eb9a82c053fa Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Wed, 11 Mar 2009 11:00:58 +0000 Subject: [PATCH] FIX #2832: Setting SplitObjs=NO doesn't disable -split-objs in GHC Now ghc --info reports whether-split-objs is supported, rather than whether the libraries were built using -split-objs. --- compiler/Makefile | 2 +- mk/config.mk.in | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index de9ce9a..1870153 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -246,7 +246,7 @@ $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk @echo "cHscIfaceFileVersion :: String" >> $(CONFIG_HS) @echo "cHscIfaceFileVersion = \"$(HscIfaceFileVersion)\"" >> $(CONFIG_HS) @echo "cSplitObjs :: String" >> $(CONFIG_HS) - @echo "cSplitObjs = \"$(SplitObjs)\"" >> $(CONFIG_HS) + @echo "cSplitObjs = \"$(SupportsSplitObjs)\"" >> $(CONFIG_HS) @echo "cGhcWithInterpreter :: String" >> $(CONFIG_HS) @echo "cGhcWithInterpreter = \"$(GhcWithInterpreter)\"" >> $(CONFIG_HS) @echo "cGhcWithNativeCodeGen :: String" >> $(CONFIG_HS) diff --git a/mk/config.mk.in b/mk/config.mk.in index 6f16dd5..bdaed16 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -441,14 +441,19 @@ PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} # system needs to do other special magic if you are # doing object-file splitting +ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO)) + # lazy test, so that $(GhcUnregisterised) can be set in build.mk -SplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),\ - $(if $(filter YES,$(BootingFromHC)),\ - NO,\ - $(if $(filter NO,$(GhcUnregisterised)),\ - YES,\ - NO)),\ - NO)) +SupportsSplitObjs=$(strip $(if $(filter YES,$(ArchSupportsSplitObjs)),\ + $(if $(filter NO,$(BootingFromHc)),\ + $(if $(filter NO,$(GhcUnregisterised)),\ + YES,\ + NO),\ + NO),\ + NO)) + +# By default, enable SplitObjs for the libraries if this build supports it +SplitObjs=$(SupportsSplitObjs) # Math library LIBM=@LIBM@ -- 1.7.10.4