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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/77698d1c34452e75c4396869e79a02e24f5a6dbc">https://github.com/macports/macports-ports/commit/77698d1c34452e75c4396869e79a02e24f5a6dbc</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 77698d1c34452e75c4396869e79a02e24f5a6dbc
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Tue Apr 21 21:40:08 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    llvm-10: refactor older systems support
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    all into one section of the Portfile for clarity
</span>---
 lang/llvm-10/Portfile | 78 +++++++++++++++++++++++++--------------------------
 1 file changed, 38 insertions(+), 40 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-10/Portfile b/lang/llvm-10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f30776e..4dfb24c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -149,7 +149,8 @@ if {${subport} eq "clang-${llvm_version}"} {
</span>         2002-Work-around-no-libdispatch-on-10.6.patch \
         3001-Fix-missing-long-long-math-prototypes-when-using-the.patch \
         3002-implement-atomic-using-mutex-lock_guard-for-64b-ops-.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        openmp-locations.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append leopard-no-asan.patch
</span> 
     # fix compiler-rt finding the version of SDKs other than "macosx"
     patchfiles-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -222,30 +223,6 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>         -DLIBCXX_ENABLE_SHARED=OFF \
         -DLIBCXX_INSTALL_LIBRARY=OFF
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # We unfortunately don't have an option to just turn off tsan
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://llvm.org/bugs/show_bug.cgi?id=27715
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</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;'>-    if {${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # libfuzzer uses TLS, fails on 10.9 and less
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # possibly fixable, see https://trac.macports.org/ticket/58291
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
</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;'>-    if {${os.major} <= 15} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # XRAY uses TLS, MAP_ANONYMOUS, and clock_gettime, so disable it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # on systems that don't currently support these features
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # see https://trac.macports.org/ticket/57130
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://bugs.llvm.org/show_bug.cgi?id=38959
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://bugs.llvm.org/show_bug.cgi?id=38958
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   configure.args-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       -DCOMPILER_RT_BUILD_XRAY=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> } elseif {${subport} eq "lldb-${llvm_version}"} {
     #select.group        lldb
     #select.file         ${filespath}/mp-${subport}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -346,24 +323,45 @@ variant assertions description "Enable assertions for error detection (has perfo
</span> }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "clang-${llvm_version}" && [vercmp $xcodeversion 5.0] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # https://llvm.org/bugs/show_bug.cgi?id=13671
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append leopard-no-asan.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "clang-${llvm_version}" && ${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append leopard-no-blocks.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${subport} eq "clang-${llvm_version}"} {
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "clang-${llvm_version}" && ${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # the directorywatcher code in clang-9.0+ is 10.7+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # I believe this patch could be applied always, without a system test
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append 5003-patch-no-directory-watcher-on-snowleopard.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.major} <= 15} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # XRAY uses TLS, MAP_ANONYMOUS, and clock_gettime, so disable it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # on systems that don't currently support these features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # see https://trac.macports.org/ticket/57130
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # https://bugs.llvm.org/show_bug.cgi?id=38959
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # https://bugs.llvm.org/show_bug.cgi?id=38958
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TO DO: all these features can be replaced by legacysupport
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append    -DCOMPILER_RT_BUILD_XRAY=OFF
</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 {${os.major} <= 14} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append    -DCLANG_ENABLE_CLANGD=OFF
</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 {${os.major} <= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # We unfortunately don't have an option to just turn off tsan
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # https://llvm.org/bugs/show_bug.cgi?id=27715
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append    -DCOMPILER_RT_BUILD_SANITIZERS=OFF
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "clang-${llvm_version}" && ${os.major} <= 14} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append -DCLANG_ENABLE_CLANGD=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # libfuzzer uses TLS, fails on 10.9 and less
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # possibly fixable, see https://trac.macports.org/ticket/58291
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TO DO: TLS is available by using a macports-clang compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            configure.args-append    -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
</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 {${os.major} <= 10} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # the directorywatcher code in clang-9.0+ is 10.7+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # I believe this patch could be applied always, without a system test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append 5003-patch-no-directory-watcher-on-snowleopard.diff
</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 {${os.major} <= 9} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # TO DO: the blocks functionality can be replaced by libblocksruntime
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # this might be integrated into clang on < 10.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append leopard-no-blocks.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 
     if {${os.major} < 11} {
</pre><pre style='margin:0'>

</pre>