From: Ian Lynagh Date: Fri, 25 Feb 2011 18:43:58 +0000 (+0000) Subject: Turn off split objects on Darwin if XCode < 3.2 (#4013) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=74430537272aecdc8fd85b4877cec76cc042c8ad Turn off split objects on Darwin if XCode < 3.2 (#4013) --- diff --git a/configure.ac b/configure.ac index 2163f2f..967fd6f 100644 --- a/configure.ac +++ b/configure.ac @@ -414,6 +414,29 @@ FP_ARG_WITH_PATH_GNU_PROG([NM], [nm]) NmCmd="$NM" AC_SUBST([NmCmd]) +SplitObjsBroken=NO +if test "$TargetOS_CPP" = "darwin" +then + XCodeVersion=`xcodebuild -version | grep Xcode | sed "s/Xcode //"` + XCodeVersion1=`echo "$XCodeVersion" | sed 's/\..*//'` + XCodeVersion2=`echo "$XCodeVersion" | sed 's/.*\.//'` + # Old XCode versions don't actually give the XCode version + if test "$XCodeVersion" = "" + then + SplitObjsBroken=YES + fi + # Split objects is broken (#4013) with XCode < 3.2 + if test "$XCodeVersion1" -lt 3 + then + SplitObjsBroken=YES + fi + if test "$XCodeVersion1" -eq 3 && test "$XCodeVersion2" -lt 2 + then + SplitObjsBroken=YES + fi +fi +AC_SUBST([SplitObjsBroken]) + dnl ** Mac OS X: explicit deployment target dnl -------------------------------------------------------------- AC_ARG_WITH([macosx-deployment-target], diff --git a/mk/config.mk.in b/mk/config.mk.in index 72cdcb2..4204c7b 100644 --- a/mk/config.mk.in +++ b/mk/config.mk.in @@ -295,11 +295,13 @@ PackageSourceURL = http://darcs.haskell.org/packages/$(PACKAGE)/%{FILE} ArchSupportsSplitObjs=$(strip $(if $(filter $(TargetArch_CPP),i386 x86_64 powerpc sparc),YES,NO)) OsSupportsSplitObjs=$(strip $(if $(filter $(TargetOS_CPP),mingw32 cygwin32 linux darwin solaris2 freebsd dragonfly netbsd openbsd),YES,NO)) +SplitObjsBroken = @SplitObjsBroken@ # lazy test, so that $(GhcUnregisterised) can be set in build.mk SupportsSplitObjs=$(strip \ $(if $(and $(filter YES,$(ArchSupportsSplitObjs)),\ $(filter YES,$(OsSupportsSplitObjs)),\ + $(filter NO,$(SplitObjsBroken)),\ $(filter NO,$(BootingFromHc)),\ $(filter NO,$(GhcUnregisterised))),\ YES,NO))