[152086] trunk/dports/devel/cctools/Portfile

jeremyhu at macports.org jeremyhu at macports.org
Sun Aug 28 20:20:45 PDT 2016


Revision: 152086
          https://trac.macports.org/changeset/152086
Author:   jeremyhu at macports.org
Date:     2016-08-28 20:20:44 -0700 (Sun, 28 Aug 2016)
Log Message:
-----------
cctools: generate llvm variants with correct conflicts (#52118)

Modified Paths:
--------------
    trunk/dports/devel/cctools/Portfile

Modified: trunk/dports/devel/cctools/Portfile
===================================================================
--- trunk/dports/devel/cctools/Portfile	2016-08-29 03:15:10 UTC (rev 152085)
+++ trunk/dports/devel/cctools/Portfile	2016-08-29 03:20:44 UTC (rev 152086)
@@ -46,7 +46,35 @@
     patchfiles-append snowleopard-strnlen.patch
 }
 
-if {![variant_isset llvm33] && ![variant_isset llvm34] && ![variant_isset llvm38] && ![variant_isset llvm39] && ![variant_isset llvmdev]} {
+set all_llvm_variants {llvm38 llvm39 llvmdev}
+if {${os.major} < 10} {
+    lappend all_llvm_variants llvm33
+}
+if {${os.major} < 11} {
+    lappend all_llvm_variants llvm34
+}
+array set llvm_variant_version {llvm33 3.3 llvm34 3.4 llvm38 3.8 llvm39 3.9 llvmdev devel}
+set llvm_version {}
+
+foreach variantname $all_llvm_variants {
+    set this_llvm_version $llvm_variant_version($variantname)
+    variant $variantname conflicts {*}[ldelete $all_llvm_variants $variantname] description "Use llvm-${this_llvm_version} for libLTO, llvm-mc, llvm-size, and llvm-nm" "
+        set llvm_version        $this_llvm_version
+        depends_lib-append      port:llvm-${this_llvm_version}
+    "
+}
+
+proc some_llvm_variant_set {} {
+    global all_llvm_variants
+    foreach variantname $all_llvm_variants {
+        if {[variant_isset $variantname]} {
+            return yes
+        }
+    }
+    return no
+}
+
+if {![some_llvm_variant_set]} {
     if {${os.major} >= 13} {
         default_variants +llvm38
     } elseif {${os.major} >= 10} {
@@ -57,37 +85,6 @@
     }
 }
 
-set llvm_version {}
-
-if {${os.platform} eq "darwin" && ${os.major} < 10} {
-    variant llvm33 conflicts llvm34 llvm38 llvm39 llvmdev description {Use llvm-3.3 for libLTO and llvm-mc} {
-        set llvm_version        3.3
-        depends_lib-append      port:llvm-${llvm_version}
-    }
-}
-
-if {${os.platform} eq "darwin" && ${os.major} < 11} {
-    variant llvm34 conflicts llvm33 llvm38 llvm39 llvmdev description {Use llvm-3.4 for libLTO and llvm-mc} {
-        set llvm_version        3.4
-        depends_lib-append      port:llvm-${llvm_version}
-    }
-}
-
-variant llvm38 conflicts llvm39 llvmdev description {Use llvm-3.8 for libLTO, llvm-mc, llvm-size, and llvm-nm} {
-    set llvm_version        3.8
-    depends_lib-append      port:llvm-${llvm_version}
-}
-
-variant llvm39 conflicts llvm38 llvmdev description {Use llvm-3.9 for libLTO, llvm-mc, llvm-size, and llvm-nm} {
-    set llvm_version        3.9
-    depends_lib-append      port:llvm-${llvm_version}
-}
-
-variant llvmdev conflicts llvm38 llvm39 description {Use llvm-devel for libLTO, llvm-mc, llvm-size, and llvm-nm} {
-    set llvm_version        devel
-    depends_lib-append      port:llvm-${llvm_version}
-}
-
 set has_llvm_nm true
 set has_llvm_size true
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160828/2893a83b/attachment.html>


More information about the macports-changes mailing list