<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/ad8acf53feb09fa26a0c58d000d77ff429a805dd">https://github.com/macports/macports-ports/commit/ad8acf53feb09fa26a0c58d000d77ff429a805dd</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 ad8acf5 llvm-*: build more reproducibly
</span>ad8acf5 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit ad8acf53feb09fa26a0c58d000d77ff429a805dd
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Oct 20 23:47:44 2019 +1100
<span style='display:block; white-space:pre;color:#404040;'> llvm-*: build more reproducibly
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> No doubt building with newer macports-clang versions if they happen to
</span><span style='display:block; white-space:pre;color:#404040;'> be installed already seemed like a good idea at the time, but it means
</span><span style='display:block; white-space:pre;color:#404040;'> that different people will see different results when building these
</span><span style='display:block; white-space:pre;color:#404040;'> ports on the same platform.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Also move some code that was checking the value of configure.compiler
</span><span style='display:block; white-space:pre;color:#404040;'> before it's potentially changed by blacklisting.
</span>---
lang/llvm-3.3/Portfile | 11 +++--------
lang/llvm-3.4/Portfile | 11 +++--------
lang/llvm-3.5/Portfile | 28 +++++++++++++++-------------
lang/llvm-3.7/Portfile | 28 +++++++++++++++-------------
lang/llvm-5.0/Portfile | 8 +-------
lang/llvm-6.0/Portfile | 8 +-------
lang/llvm-7.0/Portfile | 8 +-------
lang/llvm-8.0/Portfile | 8 +-------
lang/llvm-9.0/Portfile | 8 +-------
9 files changed, 41 insertions(+), 77 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-3.3/Portfile b/lang/llvm-3.3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 18cd4f1..fef82f2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-3.3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-3.3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -144,6 +144,9 @@ if {${subport} == "llvm-${llvm_version}"} {
</span> # Intel looks ok, but I prefer using gcc-4.2 for consistency
compiler.blacklist gcc-4.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# avoid dependency cycles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append macports-clang-*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant universal {
if {[vercmp [macports_version] 2.5.99] >= 0} {
build.env-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -177,14 +180,6 @@ variant assertions description "Enable assertions for error detection (has perfo
</span> configure.args-append --enable-assertions
}
<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 {3.3 3.4 3.7 3.8 3.9 4.0 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> platform darwin {
if {${build_arch} eq "i386"} {
configure.pre_args-append --build=i686-apple-darwin${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-3.4/Portfile b/lang/llvm-3.4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e8dd822..3fa35d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-3.4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-3.4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -202,6 +202,9 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> # Xcode 4.3's clang (318.x) fails per https://trac.macports.org/ticket/44161
compiler.blacklist gcc-4.0 {gcc-4.2 <= 5577} {clang < 421}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# avoid dependency cycles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append macports-clang-*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> variant universal {
if {[vercmp [macports_version] 2.5.99] >= 0} {
build.env-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -235,14 +238,6 @@ variant assertions description "Enable assertions for error detection (has perfo
</span> configure.args-append --enable-assertions
}
<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 {3.4 3.7 3.8 3.9 4.0 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> platform darwin {
if {${build_arch} eq "i386"} {
configure.pre_args-append --build=i686-apple-darwin${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-3.5/Portfile b/lang/llvm-3.5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2545a62..fe67ed1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-3.5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-3.5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,13 +39,6 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> depends_lib port:libedit port:libffi port:ncurses port:zlib
depends_run bin:perl:perl5 port:llvm_select
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # 3.2.6's install_name_tool doesn't support load commands we might see with newer clang+ld64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 4.3 is just a guess here and should be updated if there are additional reports with other Xcode versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp $xcodeversion 4.3] < 0 && [string match "*macports*" ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_skip_archcheck-append cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> version ${llvm_version}.2
epoch 1
master_sites https://releases.llvm.org/${version}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -95,12 +88,21 @@ select.file ${filespath}/mp-${subport}
</span> # Xcode 4.6.x's clang (425.0.28) works, assuming 425.0.24 from 4.6.0 works too
compiler.blacklist *gcc* {clang < 425.0.24}
<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 {3.5 3.6 3.7 3.8 3.9 4.0 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:#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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.4 is already needed to bootstrap libcxx, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.fallback-append macports-clang-3.4
</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.2.6's install_name_tool doesn't support load commands we might see with newer clang+ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 4.3 is just a guess here and should be updated if there are additional reports with other Xcode versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[vercmp $xcodeversion 4.3] < 0 && [string match "*macports*" ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_skip_archcheck-append cctools
</span> }
platform darwin {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-3.7/Portfile b/lang/llvm-3.7/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8da1466..7b3e66d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-3.7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-3.7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,13 +38,6 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>
depends_lib port:libedit port:libffi port:ncurses port:zlib
depends_run bin:perl:perl5 port:llvm_select
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 3.2.6's install_name_tool doesn't support load commands we might see with newer clang+ld64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # 4.3 is just a guess here and should be updated if there are additional reports with other Xcode versions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp $xcodeversion 4.3] < 0 && [string match "*macports*" ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_skip_archcheck-append cctools
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> } elseif {${subport} eq "clang-${llvm_version}"} {
homepage https://clang.llvm.org/
description C, C++, Objective C and Objective C++ compiler
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,12 +201,21 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> # Xcode 4.6.3's clang (425.0.28) fails due to http://trac.macports.org/ticket/46897
compiler.blacklist *gcc* {clang < 500}
<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 {3.7 3.8 3.9 4.0 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:#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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# 3.4 is already needed to bootstrap libcxx, so is a good last resort
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# when the system clang is too old.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler.fallback-append macports-clang-3.4
</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;'>+if {${subport} eq "llvm-${llvm_version}" && [vercmp $xcodeversion 4.3] < 0 && [string match "*macports*" ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 3.2.6's install_name_tool doesn't support load commands we might see with newer clang+ld64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 4.3 is just a guess here and should be updated if there are additional reports with other Xcode versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_skip_archcheck-append cctools
</span> }
platform darwin {
<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 d40962c..feeec24 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;'>@@ -323,13 +323,7 @@ compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span> # Override the normal compiler fallback list entirely since we have
# such specific requirements.
compiler.fallback clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 7.0 6.0 5.0} {
</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.fallback-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:#e0ffe0;'>+
</span> # 3.7 is already needed to bootstrap cmake, so is a good last resort
# when the system clang is too old.
if {${os.platform} eq "darwin" && ${os.major} < 18} {
<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 0649cc6..840d8bc 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;'>@@ -313,13 +313,7 @@ compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span> # Override the normal compiler fallback list entirely since we have
# such specific requirements.
compiler.fallback clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 7.0 6.0 5.0} {
</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.fallback-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:#e0ffe0;'>+
</span> # 3.7 is already needed to bootstrap cmake, so is a good last resort
# when the system clang is too old.
if {${os.platform} eq "darwin" && ${os.major} < 18} {
<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 82b7823..1fcea7b 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;'>@@ -318,13 +318,7 @@ compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span> # Override the normal compiler fallback list entirely since we have
# such specific requirements.
compiler.fallback clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 7.0 6.0 5.0} {
</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.fallback-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:#e0ffe0;'>+
</span> # 3.7 is already needed to bootstrap cmake, so is a good last resort
# when the system clang is too old.
if {${os.platform} eq "darwin" && ${os.major} < 18} {
<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 2e7c24e..700bc96 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;'>@@ -322,13 +322,7 @@ compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span> # Override the normal compiler fallback list entirely since we have
# such specific requirements.
compiler.fallback clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 7.0 6.0 5.0} {
</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.fallback-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:#e0ffe0;'>+
</span> # 3.7 is already needed to bootstrap cmake, so is a good last resort
# when the system clang is too old.
if {${os.platform} eq "darwin" && ${os.major} < 18} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-9.0/Portfile b/lang/llvm-9.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 58bfd94..74e14e5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-9.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-9.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -328,13 +328,7 @@ compiler.blacklist-append macports-clang-3.3 macports-clang-3.4
</span> # Override the normal compiler fallback list entirely since we have
# such specific requirements.
compiler.fallback clang
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Use each macports-clang version only if already installed, to avoid
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# dependency cycles or chaining (8.0 depends on 7.0 depends on 6.0...)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach ver {8.0 7.0 6.0 5.0} {
</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.fallback-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:#e0ffe0;'>+
</span> # 3.7 is already needed to bootstrap cmake, so is a good last resort
# when the system clang is too old.
if {${os.platform} eq "darwin" && ${os.major} < 18} {
</pre><pre style='margin:0'>
</pre>