<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c1526bcae5e4f75de3f9632291dc1bb26a93820e">https://github.com/macports/macports-ports/commit/c1526bcae5e4f75de3f9632291dc1bb26a93820e</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new c1526bc  llvm ports: improve dependencies
</span>c1526bc is described below

<span style='display:block; white-space:pre;color:#808000;'>commit c1526bcae5e4f75de3f9632291dc1bb26a93820e
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sat Aug 17 03:45:13 2019 +1000

<span style='display:block; white-space:pre;color:#404040;'>    llvm ports: improve dependencies
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Previously, if the system clang was unsuitable for building these
</span><span style='display:block; white-space:pre;color:#404040;'>    ports, you would potentially (such as on 10.6) have to install clang
</span><span style='display:block; white-space:pre;color:#404040;'>    3.4, 3.7, 5.0, 6.0, 7.0 and 8.0 before you could use the latest clang
</span><span style='display:block; white-space:pre;color:#404040;'>    to compile the port you actually wanted.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    So instead of each clang depending on the immediately previous version,
</span><span style='display:block; white-space:pre;color:#404040;'>    use recent ones only if already installed, and 3.7 as a last resort.
</span>---
 lang/llvm-5.0/Portfile | 22 +++++++++++++---------
 lang/llvm-6.0/Portfile | 22 +++++++++++++---------
 lang/llvm-7.0/Portfile | 22 +++++++++++++---------
 lang/llvm-8.0/Portfile | 22 +++++++++++++---------
 4 files changed, 52 insertions(+), 36 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-5.0/Portfile b/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e7ffd82..90162a9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-5.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -317,7 +317,19 @@ compiler.blacklist *gcc* {clang < 602}
</span> 
 # clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
 # llvm-5.0 builds with clang-3.4 but has codegen issues resulting compiler crashes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Override the normal compiler fallback list entirely since we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such specific requirements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback   clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach ver {8.0 7.0 6.0 5.0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.fallback-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.7 is already needed to bootstrap cmake, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span> if {${os.platform} eq "darwin" && ${os.major} < 18} {
     compiler.fallback-append macports-clang-3.7
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -327,14 +339,6 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     compiler.blacklist-append {clang < 700}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# blacklist current and future versions if they're not available in order to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# help break potential dependency cycles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {5.0 6.0 7.0 8.0 devel} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler.blacklist-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # I'm not sure the exact version of Xcode that has a good enough libtool, but 3.2.6 seems to get past this when 3.1.4 doesn't:
 #     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
 #     /Developer/usr/bin/libtool: for architecture: (null) file: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o is not an object file (not allowed in a library)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-6.0/Portfile b/lang/llvm-6.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 593b701..66cb376 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-6.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-6.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -307,7 +307,19 @@ compiler.blacklist *gcc* {clang < 602}
</span> 
 # clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
 # llvm-6.0 builds with clang-3.4 but has codegen issues resulting compiler crashes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Override the normal compiler fallback list entirely since we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such specific requirements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback   clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach ver {8.0 7.0 6.0 5.0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.fallback-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.7 is already needed to bootstrap cmake, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span> if {${os.platform} eq "darwin" && ${os.major} < 18} {
     compiler.fallback-append macports-clang-3.7
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -317,14 +329,6 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     compiler.blacklist-append {clang < 700}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# blacklist current and future versions if they're not available in order to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# help break potential dependency cycles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {6.0 7.0 8.0 devel} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler.blacklist-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # I'm not sure the exact version of Xcode that has a good enough libtool, but 3.2.6 seems to get past this when 3.1.4 doesn't:
 #     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
 #     /Developer/usr/bin/libtool: for architecture: (null) file: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o is not an object file (not allowed in a library)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-7.0/Portfile b/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 19616ff..445edb2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-7.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -313,7 +313,19 @@ compiler.blacklist *gcc* {clang < 602}
</span> 
 # clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
 # llvm-7.0 builds with clang-3.4 but has codegen issues resulting compiler crashes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Override the normal compiler fallback list entirely since we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such specific requirements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback   clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach ver {8.0 7.0 6.0 5.0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.fallback-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.7 is already needed to bootstrap cmake, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span> if {${os.platform} eq "darwin" && ${os.major} < 18} {
     compiler.fallback-append macports-clang-3.7
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -323,14 +335,6 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     compiler.blacklist-append {clang < 700}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# blacklist current and future versions if they're not available in order to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# help break potential dependency cycles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {7.0 8.0 devel} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler.blacklist-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # I'm not sure the exact version of Xcode that has a good enough libtool, but 3.2.6 seems to get past this when 3.1.4 doesn't:
 #     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
 #     /Developer/usr/bin/libtool: for architecture: (null) file: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o is not an object file (not allowed in a library)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-8.0/Portfile b/lang/llvm-8.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index acb8270..c8a17e9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-8.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-8.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -313,7 +313,19 @@ compiler.blacklist *gcc* {clang < 602}
</span> 
 # clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
 # new llvms build with clang-3.4 but have codegen issues resulting compiler crashes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Override the normal compiler fallback list entirely since we have
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# such specific requirements.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback   clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach ver {8.0 7.0 6.0 5.0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.fallback-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.7 is already needed to bootstrap cmake, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span> if {${os.platform} eq "darwin" && ${os.major} < 18} {
     compiler.fallback-append macports-clang-3.7
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -323,14 +335,6 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     compiler.blacklist-append {clang < 700}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# blacklist current and future versions if they're not available in order to
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# help break potential dependency cycles.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 devel} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![file exists ${prefix}/bin/clang-mp-${ver}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        compiler.blacklist-append macports-clang-${ver}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> # I'm not sure the exact version of Xcode that has a good enough libtool, but 3.2.6 seems to get past this when 3.1.4 doesn't:
 #     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
 #     /Developer/usr/bin/libtool: for architecture: (null) file: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o is not an object file (not allowed in a library)
</pre><pre style='margin:0'>

</pre>