Revision
99297
Author
eborisch@macports.org
Date
2012-10-31 09:28:19 -0700 (Wed, 31 Oct 2012)

Log Message

mpich2: blacklist clang for Xcode 4.5.1 and above. Fixes #36654.

Modified Paths

Diff

Modified: trunk/dports/science/mpich2/Portfile (99296 => 99297)


--- trunk/dports/science/mpich2/Portfile	2012-10-31 13:56:01 UTC (rev 99296)
+++ trunk/dports/science/mpich2/Portfile	2012-10-31 16:28:19 UTC (rev 99297)
@@ -134,15 +134,30 @@
 }
 
 variant llvm description {
-    Use llvm-gcc
+    Use Apple-supplied llvm-gcc
 } conflicts gcc43 gcc44 gcc45 gcc46 gcc47 clang clang31 {
     configure.compiler      llvm-gcc-4.2
 }
 
-variant clang description {
-    Use clang
-} conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang31 {
-    configure.compiler      clang
+# Apple clang version 4.1 currently segfaults (Xcode 4.5.1)
+# See https://trac.macports.org/ticket/36654#comment:9
+if {[vercmp ${xcodeversion} 4.5.1] >= 0} {
+    compiler.blacklist      clang
+    # Keeping variant so all the conflict lines don't balk and so upgrades
+    # of +clang are not moved to llvm without warning.
+    variant clang description {
+        !!THIS CLANG VERSION BREAKS. UNUSABLE VARIANT HERE AS PLACEHOLDER ONLY!!
+    } conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang31 {
+        ui_error \
+          "This version of clang segfaults. Please select a different compiler."
+        return -code error "Unsupported clang version. Try +clang31 or +llvm ?"
+    }
+} else {
+    variant clang description {
+        Use Apple-supplied clang
+    } conflicts gcc43 gcc44 gcc45 gcc46 gcc47 llvm clang31 {
+        configure.compiler      clang
+    }
 }
 
 variant clang31 description {