Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/74430537272aecdc8fd85b4877cec76cc042c8ad

>---------------------------------------------------------------

commit 74430537272aecdc8fd85b4877cec76cc042c8ad
Author: Ian Lynagh <[email protected]>
Date:   Fri Feb 25 18:43:58 2011 +0000

    Turn off split objects on Darwin if XCode < 3.2 (#4013)

>---------------------------------------------------------------

 configure.ac    |   23 +++++++++++++++++++++++
 mk/config.mk.in |    2 ++
 2 files changed, 25 insertions(+), 0 deletions(-)

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))



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to