<pre style='margin:0'>
Landon Fuller (landonf) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1948eb428f7b92831b07521985c6b65a78c11e26">https://github.com/macports/macports-ports/commit/1948eb428f7b92831b07521985c6b65a78c11e26</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 1948eb428f7 z3: ensure that +polly is only enabled if a supported compiler is available
</span>1948eb428f7 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 1948eb428f7b92831b07521985c6b65a78c11e26
</span>Author: Landon Fuller <landonf@macports.org>
AuthorDate: Wed Aug 25 17:50:32 2021 -0600
<span style='display:block; white-space:pre;color:#404040;'> z3: ensure that +polly is only enabled if a supported compiler is available
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This should fix the build on 10.6, where clang-12 is not available.
</span>---
math/z3/Portfile | 43 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 42 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/z3/Portfile b/math/z3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 75d3dd26b84..18626ef37dc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/z3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/z3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,6 +48,36 @@ configure.optflags
</span>
destroot.target install
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# +polly requires a supported compiler (>= macports-clang-12).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Note that the +polly variant does blacklist unsupported compilers, but if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# this results in all compilers being blacklisted (as is the case on 10.6, where
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# macports-clang-12 is not available), a non-polly-enabled compiler fallback
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# will be selected, and the build will break.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc z3.polly_supported_compiler {compiler} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![regexp {macports-clang-(.*)} ${compiler} -> llvm_ver]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0
</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 {[vercmp ${llvm_ver} "12"] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 1
</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;'>+ return 0
</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;'>+proc z3.polly_compiler_available {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global compiler.fallback
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach compiler ${compiler.fallback} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[z3.polly_supported_compiler ${compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 1
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Common variants
variant debug description {Enable the debug build configuration} {
cmake.build_type Debug
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,7 +130,12 @@ if {${subport} eq ${name} || ${subport} eq "${name}-fstar"} {
</span> # cpu {Dual Intel Xeon E5-2680 v4 @ 2.40GHz (2 x 14 cores/28 threads)}
# os {FreeBSD 12.0-RELEASE-p9}
# }
<span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +polly +polly_late +polly_vector
</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;'>+ # +polly requires a supported compiler (>= macports-clang-12).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[z3.polly_compiler_available]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ default_variants-append +polly +polly_late +polly_vector
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
# Unsupported prior to 4.8.6
if {[vercmp ${version} "4.8.6"] >= 0} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,6 +251,12 @@ if {${subport} eq ${name} || ${subport} eq "${name}-fstar"} {
</span> }
pre-configure {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Verify that a polly-supporting compiler was actually selected
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[variant_isset polly] && ![z3.polly_supported_compiler ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error "${name} @${version}: +polly requires macports-clang-12 or later"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return -code error "incompatible compiler selected"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> #
# If we enable +lto in combination with a variant (e.g. +polly) that
# selects MacPorts' clang compiler, CMake fails to locate the llvm-ar and llvm-ranlib
</pre><pre style='margin:0'>
</pre>