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