<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/9681f46fb4e93f966422703b3dccaf51814dcb5c">https://github.com/macports/macports-ports/commit/9681f46fb4e93f966422703b3dccaf51814dcb5c</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9681f46fb4e93f966422703b3dccaf51814dcb5c
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Thu May 7 14:54:30 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    llvm/clang/lldb-devel: update to 20200505
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    downloads the monorepo from GitHub now
</span><span style='display:block; white-space:pre;color:#404040;'>    moves the various folders into the positions to
</span><span style='display:block; white-space:pre;color:#404040;'>    use the existing Portfile logic, which is a bit
</span><span style='display:block; white-space:pre;color:#404040;'>    outdated now, but keeps things consistent
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    the clang/llvm/lldb ports should be moved over
</span><span style='display:block; white-space:pre;color:#404040;'>    to the currently recommended monorepo build
</span><span style='display:block; white-space:pre;color:#404040;'>    in time.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/60108
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/58708
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/58687
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/56255
</span>---
 lang/llvm-devel/Portfile                           | 340 +++++++--------------
 ...ly-Don-t-embed-the-deployment-target-in-t.patch |   4 +-
 ...ly-Fix-name-of-scan-view-executable-insid.patch |  32 +-
 ...-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch |  29 +-
 ...e-Check-that-a-certificate-for-lldb-is-pr.patch |  42 ---
 ...ompilerrtdarwinutils-find-macosxsdkversion.diff |  30 ++
 ...t-unix-path-copyfileclone-on-older-systems.diff |   7 +-
 ...p-use-older-cfname-and-fix-uuid-on-leopard.diff |  23 ++
 ...atch-libcxx-src-new-posix-memalign-leopard.diff |  53 ++++
 ...lchains-darwin-add-back-pre-10.6-link-libs.diff |  30 ++
 .../files/5003-patch-llvm10-strnlen.diff           |  51 ++++
 ...-patch-no-directory-watcher-on-snowleopard.diff |  11 +
 ...libcxx-includes-disable-availability-tests.diff |  13 +
 lang/llvm-devel/files/9001-macports-libstdcxx.diff |  20 +-
 lang/llvm-devel/files/leopard-no-asan.patch        |  10 +-
 lang/llvm-devel/files/openmp-locations.patch       |  14 +-
 16 files changed, 364 insertions(+), 345 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/Portfile b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 819ec3b..d532c96 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,22 +1,38 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# TODO:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#  * Update clang and lldb subports to build against installed libLLVM/libclang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> PortSystem              1.0
 PortGroup select        1.0
 PortGroup compiler_blacklist_versions 1.0
 PortGroup active_variants 1.1
 PortGroup cmake         1.0
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# for devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup github        1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm-commit         6d6d48add8a8fcfbc311648a1d6b1ccc6e1e8b26
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set date                20200505
</span> set llvm_version        devel
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set llvm_version_no_dot devel
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clang_executable_version 9
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set lldb_executable_version 9.0.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# set llvm_version 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set llvm_version_no_dot 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set clang_executable_version 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set lldb_executable_version 11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            llvm llvm-project ${llvm-commit}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  b148e3ea84e63534ffac75bbe031d8343b65e55d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  f24a6c752717a57c11d8323dbf2cd869a436e64070cf8c8e84deee7d4fb62787 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    118617893
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for release, use      ${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# version                 ${llvm_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version                 ${date}-[string range ${llvm-commit} 0 7]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> name                    llvm-${llvm_version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport                 clang-${llvm_version} { revision 1 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-subport                 lldb-${llvm_version} { revision 1 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 clang-${llvm_version} { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport                 lldb-${llvm_version} { revision 0 }
</span> set suffix              mp-${llvm_version}
 set sub_prefix          ${prefix}/libexec/llvm-${llvm_version}
 dist_subdir             llvm
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,16 +71,6 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>     depends_run         port:clang_select port:ld64
     depends_skip_archcheck-append ld64 subversion
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Older Xcode's lipo doesn't support x86_64h slices
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/53159
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Older Xcode's ranlib doesn't understand objects produced by newer clang (malformed object (unknown load command 2))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://trac.macports.org/ticket/57412
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[vercmp $xcodeversion "6.0.0"] < 0} {
</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_run-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>     # Avoid requiring a bootstrap version of perl5 on 10.6.
     if {${os.major} >= 11} {
         default_variants    +analyzer
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,66 +83,50 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span> 
     depends_lib         port:libxml2 port:libomp port:llvm-${llvm_version} port:ncurses
     depends_build-append port:swig-python port:doxygen
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Clang doesn't actually use any of these, but the LLVM makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # system overlinks its binaries. Remove (or convert to build deps?)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # after #46040 is resolved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    depends_lib-append  port:libedit port:libffi port:ncurses port:zlib
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-fetch.type              svn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-svn.revision            365158
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_extract-append  port:subversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set compiler_rt_rev     ${svn.revision}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set libcxx_rev          ${svn.revision}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set clang-modernize_rev ${svn.revision}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version                 ${llvm_version}-r${svn.revision}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-worksrcdir              trunk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-svn.url                 https://llvm.org/svn/llvm-project/llvm/trunk
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#worksrcdir              release_${llvm_version_no_dot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#svn.url                 https://llvm.org/svn/llvm-project/llvm/branches/release_${llvm_version_no_dot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# for devel version only
</span> default_variants-append +assertions
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#default_variants-append +debug
</span> 
 # the backtik pkgconfig setting in the ffi config line requires pkg-config
 depends_build-append    port:pkgconfig
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#version                 ${llvm_version}.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#epoch                   1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#master_sites            https://releases.llvm.org/${version}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#use_xz                  yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#extract.suffix          .tar.xz
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#distfiles               llvm-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#worksrcdir              llvm-${version}.src
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir              llvm-project/llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patch.dir               ${workpath}/llvm-project/llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    move ${workpath}/llvm-project-${llvm-commit} ${workpath}/llvm-project
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${distfiles} ne ""} {
</span>     if {${subport} eq "llvm-${llvm_version}"} {
         if {[variant_isset polly]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            distfiles-append     polly-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            file rename ${workpath}/llvm-project/polly                        ${worksrcpath}/tools/polly
</span>         }
     } elseif {${subport} eq "clang-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        distfiles-append     cfe-${version}.src${extract.suffix} compiler-rt-${version}.src${extract.suffix} libcxx-${version}.src${extract.suffix} clang-tools-extra-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/clang                            ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/compiler-rt                      ${worksrcpath}/projects/compiler-rt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/libcxx                           ${worksrcpath}/projects/libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           file rename ${workpath}/llvm-project/libcxxabi                        ${worksrcpath}/projects/libcxxabi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/clang-tools-extra                ${worksrcpath}/tools/clang/tools/extra
</span>     } elseif {${subport} eq "lldb-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        distfiles-append     cfe-${version}.src${extract.suffix} lldb-${version}.src${extract.suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/clang                            ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file rename ${workpath}/llvm-project/lldb                             ${worksrcpath}/tools/lldb
</span>     }
 }
 
 patch.pre_args  -p1
 patchfiles \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    0001-Set-the-Mach-O-CPU-Subtype-to-ppc7400-when-targeting.patch \
</span>     0002-Define-EXC_MASK_CRASH-and-MACH_EXCEPTION_CODES-if-th.patch \
     0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch \
     0004-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch \
     0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch \
     0006-Only-call-setpriority-PRIO_DARWIN_THREAD-0-PRIO_DARW.patch
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# added by kencu for older systems support
</span> patchfiles-append \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    5000-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff \
</span>     5000-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff \
     5001-patch-machoreader-strnlen.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    5002-patch-objdumper-strnlen.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    5002-patch-objdumper-strnlen.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    5003-patch-llvm10-strnlen.diff
</span> 
 if {${subport} eq "clang-${llvm_version}"} {
     patchfiles-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -151,22 +141,15 @@ 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:#ffe0e0;'>-        
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://llvm.org/bugs/show_bug.cgi?id=25681
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${worksrcdir} eq "trunk" || ${worksrcdir} eq "release_${llvm_version_no_dot}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Cannot set cppflags due to https://cmake.org/Bug/view.php?id=12928
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Cannot set cxxflags due to https://llvm.org/bugs/show_bug.cgi?id=25904
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #configure.cxxflags-append -DSVN_REVISION='"${svn.revision}"'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        openmp-locations.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        leopard-no-asan.patch
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace "1 i \\                             
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                #define SVN_REVISION \"${svn.revision}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            " ${worksrcpath}/tools/clang/lib/Basic/Version.cpp
</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;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        5001-patch-libcxx-src-new-posix-memalign-leopard.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {${subport} eq "lldb-${llvm_version}"} {
     # lldb needs the clang sources present, so we apply the applicable patches.
     patchfiles-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -177,21 +160,7 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>         1005-Fixup-libstdc-header-search-paths-for-older-versions.patch \
         1006-Fix-build-issues-pre-Lion-due-to-missing-a-strnlen-d.patch \
         1007-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        4001-Revert-CMake-Check-that-a-certificate-for-lldb-is-pr.patch  \
</span>         openmp-locations.patch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://llvm.org/bugs/show_bug.cgi?id=25681
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${worksrcdir} eq "trunk" || ${worksrcdir} eq "release_${llvm_version_no_dot}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Cannot set cppflags due to https://cmake.org/Bug/view.php?id=12928
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # Cannot set cxxflags due to https://llvm.org/bugs/show_bug.cgi?id=25904
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        #configure.cxxflags-append -DSVN_REVISION='"${svn.revision}"'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            reinplace "1 i \\                             
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                #define SVN_REVISION \"${svn.revision}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            " ${worksrcpath}/tools/clang/lib/Basic/Version.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span> }
 
 configure.post_args         ../${worksrcdir}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -207,9 +176,10 @@ cmake.install_prefix ${sub_prefix}
</span> #     https://trac.macports.org/ticket/53299
 configure.args-delete \
     -DCMAKE_INSTALL_NAME_DIR=${cmake.install_prefix}/lib \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_INSTALL_RPATH=${cmake.install_prefix}/lib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    -DCMAKE_SYSTEM_PREFIX_PATH="${prefix}\;/usr"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_INSTALL_RPATH=${cmake.install_prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    -DCMAKE_SYSTEM_PREFIX_PATH="${prefix}\;/usr" \
</span>     -DCMAKE_SYSTEM_PREFIX_PATH="${cmake.install_prefix}\;${prefix}\;/usr"
 
 configure.args-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,33 +211,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;'>-    # TODO: libc++ shouldn't be built at all.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #       https://llvm.org/bugs/show_bug.cgi?id=25666
</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;'>-        # 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} <= 14} {
</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;'>@@ -282,39 +225,21 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>         -DLIBCXX_INSTALL_LIBRARY=OFF
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# llvm-3.5 and later requires a C++11 runtime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 4.3's clang (318.x) fails per https://trac.macports.org/ticket/44161
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 4.5's clang (421.11.66) fails due to http://llvm.org/bugs/show_bug.cgi?id=20184
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 4.6.3's clang (425.0.28) fails due to http://trac.macports.org/ticket/46897
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 4.6.3's clang (425.0.28) fails due to https://llvm.org/bugs/show_bug.cgi?id=30384
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 5.1's clang (clang-503.0.40) has codegen issues (resulting compiler crashes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Xcode 6.2's clang (600.0.57) fails due to https://llvm.org/bugs/show_bug.cgi?id=25753
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist *gcc* {clang < 602}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# clang older than 3.5 fail due to https://llvm.org/bugs/show_bug.cgi?id=25753
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# new llvms build with clang-3.4 but have codegen issues resulting compiler crashes
</span><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:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${os.major} < 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.fallback-append macports-clang-3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# not building with macports-clang up to 3.7 or xcode clang up to 800.0.42.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: no type named 'type' in 'std::__1::enable_if<false, void>'; 'enable_if' cannot be used to disable this declaration
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#                 ,typename enable_if<is_convertible<const _U1&, _T1>::value &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist *gcc* {clang < 801} macports-clang-3.*
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Xcode 6.4's clang (602.0.53) fails to build lldb with 'thread-local storage is not supported for the current target'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.blacklist-append {clang < 700}
</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:#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 {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:#e0ffe0;'>+# fall back to clang-9.0 when system clang is too old
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# clang-9.0 was that last one that built with clang-3.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.fallback-append macports-clang-9.0
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# 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:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#     /Developer/usr/bin/libtool: for architecture x86_64 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#     /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><span style='display:block; white-space:pre;background:#ffe0e0;'>-#     /Developer/usr/bin/libtool: for architecture i386 object: CMakeFiles/LLVMSupport.dir/PluginLoader.cpp.o malformed object (unknown load command 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# cctools is needed to handle objects from newer clang toolchains
</span> if {[string match macports-clang-* ${configure.compiler}]} {
     depends_build-append port:cctools
     depends_skip_archcheck-append cctools
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -352,41 +277,54 @@ platform darwin {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # workaround a bug in Apple's shipped gcc driver-driver, patched in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # ours with driverdriver-num_infiles.patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${configure.compiler} eq "gcc-4.0" ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${configure.compiler} eq "gcc-4.2" ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${configure.compiler} eq "llvm-gcc-4.2"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system "echo \"static int ___ignoreme;\" > ${worksrcpath}/tools/llvm-shlib/ignore.c"
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> variant assertions description "Enable assertions for error detection (has performance impacts, especially on JIT)" {
     configure.args-delete -DLLVM_ENABLE_ASSERTIONS=OFF
     configure.args-append -DLLVM_ENABLE_ASSERTIONS=ON
 }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[string match "*ppc*" [get_canonical_archs]]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # http://trac.macports.org/ticket/33987
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.optflags    -Os
</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}" && [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:#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} <= 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 {${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:#e0ffe0;'>+
</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;'>+            # the libcxx installed by MacPorts on darwin 10 and less does not correspond to Apple's builtin libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append 5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</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;'>+        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} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -397,14 +335,11 @@ platform darwin {
</span>         # https://llvm.org/bugs/show_bug.cgi?id=25680
         configure.cxxflags-append -U__STRICT_ANSI__
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # https://llvm.org/bugs/show_bug.cgi?id=25674
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxxflags-append -std=c++11
</span> }
 
 pre-fetch {
     if {${subport} eq "lldb-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${os.platform} eq "darwin" && ${os.major} < 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${os.platform} eq "darwin" && ${os.major} < 15} {
</span>             depends_build
             depends_lib
             depends_run
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -418,50 +353,6 @@ pre-fetch {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-extract {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Get HTTP proxy arguments if required, assuming we can use the same proxy for all repositories
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set proxy_args [portfetch::svn_proxy_args https://llvm.org/svn/llvm-project/cfe/trunk]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${subport} eq "llvm-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset polly]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/polly/trunk polly"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/polly/branches/release_${llvm_version_no_dot} polly"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                file rename ${workpath}/polly-${version}.src ${worksrcpath}/tools/polly
</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;'>-    } elseif {${subport} eq "clang-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/trunk clang"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${compiler_rt_rev} https://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${libcxx_rev} https://llvm.org/svn/llvm-project/libcxx/trunk libcxx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools/clang/tools "svn ${proxy_args} co -r ${clang-modernize_rev} https://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/branches/release_${llvm_version_no_dot} clang"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${compiler_rt_rev} https://llvm.org/svn/llvm-project/compiler-rt/branches/release_${llvm_version_no_dot} compiler-rt"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/projects "svn ${proxy_args} co -r ${libcxx_rev} https://llvm.org/svn/llvm-project/libcxx/branches/release_${llvm_version_no_dot} libcxx"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools/clang/tools "svn ${proxy_args} co -r ${clang-modernize_rev} https://llvm.org/svn/llvm-project/clang-tools-extra/branches/release_${llvm_version_no_dot} extra"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/cfe-${version}.src ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/compiler-rt-${version}.src ${worksrcpath}/projects/compiler-rt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/libcxx-${version}.src ${worksrcpath}/projects/libcxx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/clang-tools-extra-${version}.src ${worksrcpath}/tools/clang/tools/extra
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${subport} eq "lldb-${llvm_version}"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${worksrcdir} eq "trunk"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/trunk clang"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/lldb/trunk lldb"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } elseif {${worksrcdir} eq "release_${llvm_version_no_dot}" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/cfe/branches/release_${llvm_version_no_dot} clang"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            system -W ${worksrcpath}/tools "svn ${proxy_args} co -r ${svn.revision} https://llvm.org/svn/llvm-project/lldb/branches/release_${llvm_version_no_dot} lldb"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/cfe-${version}.src ${worksrcpath}/tools/clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            file rename ${workpath}/lldb-${version}.src ${worksrcpath}/tools/lldb
</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><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> if {${subport} eq "clang-${llvm_version}"} {
     destroot {
         system "cd ${destroot.dir}/tools/clang && ${destroot.cmd} ${destroot.pre_args} ${destroot.target} ${destroot.post_args}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -492,11 +383,11 @@ if {${subport} eq "lldb-${llvm_version}"} {
</span>     build.dir   ${build.dir}/tools/lldb
 
     post-activate {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_msg "Please follow the instructions in ${prefix}/share/doc/lldb-${llvm_version}/code-signing.txt and then codesign lldb-server with:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ui_msg "Please follow the instructions at  https://lldb.llvm.org/resources/build.html#code-signing-on-macos and then codesign lldb-server with:"
</span>         if {${os.major} >= 13} {
             ui_msg "   sudo codesign --force --deep --preserve-metadata=identifier,entitlements,resource-rules,requirements,flags,team-identifier --sign <identity> ${sub_prefix}/bin/lldb-server"
         } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            ui_msg "   sudo codesign --force --deep --preserve-metadata=identifier,entitlements,resource-rules,requirements --sign <identity> ${sub_prefix}/bin/lldb-server"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ui_msg "   sudo codesign --force --deep --preserve-metadata=identifier,entitlements,resource-rules,requirements --sign <identity> ${sub_prefix}/bin/lldb-server"
</span>         }
     }
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -538,18 +429,11 @@ post-destroot {
</span> }
 
 if {${os.major} < 11} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    variant emulated_tls description { enable c11/c++11 thread support on older systems using emulated-tls } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    variant emulated_tls description { enable c11/c++11 thread_local_storage support on older systems using emulated-tls } {
</span>         # use emulated-tls to support thread_local on systems prior to 10.7
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        # requires linking against macports-libstdc++ or libc++ / libc++abi with cxa_thread_atexit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # the test for default emulated-tls has been moved into the backend
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        # this patch is needed for llvm and clang builds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            9000-patch-llvm-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        patchfiles-append      9000-patch-llvm-7.0-support-emulated-tls.diff
</span>         if {${subport} eq "clang-${llvm_version}"} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            patchfiles-append \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                9000-patch-clang-7.0-support-emulated-tls.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            patchfiles-append  9000-patch-clang-7.0-support-emulated-tls.diff
</span>         }
     }
     default_variants-append +emulated_tls
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -591,6 +475,8 @@ if {${subport} eq "llvm-${llvm_version}"} {
</span>                 ${worksrcpath}/tools/clang/tools/scan-build/libexec/ccc-analyzer \
                 ${worksrcpath}/tools/clang/tools/scan-build/libexec/c++-analyzer \
                 ${worksrcpath}/tools/clang/tools/scan-build/bin/scan-build
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # pythonfullpath is set above, depending on presence of system python2.7
</span>             reinplace "s|/usr/bin/env python|${pythonfullpath}|g" \
                 ${worksrcpath}/tools/clang/tools/scan-build/bin/set-xcode-analyzer \
                 ${worksrcpath}/tools/clang/tools/scan-view/bin/scan-view
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch b/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 0e73b2e..a698bfb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/0003-MacPorts-Only-Don-t-embed-the-deployment-target-in-t.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,10 +20,10 @@ index 7adc59d096f..336d1384b8d 100644
</span>    // use the directive, where it would need the same conditionalization
    // anyway.
 -  const Triple &Target = TM.getTargetTriple();
<span style='display:block; white-space:pre;background:#ffe0e0;'>--  OutStreamer->EmitVersionForTarget(Target, M.getSDKVersion());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  OutStreamer->emitVersionForTarget(Target, M.getSDKVersion());
</span> +  if (MAI->useIntegratedAssembler()) {
 +    const Triple &Target = TM.getTargetTriple();
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+    OutStreamer->EmitVersionForTarget(Target, M.getSDKVersion());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    OutStreamer->emitVersionForTarget(Target, M.getSDKVersion());
</span> +  }
  
    // Allow the target to emit any magic that it wants at the start of the file.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch b/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 8ca3a70..b96c3c3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/1002-MacPorts-Only-Fix-name-of-scan-view-executable-insid.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,24 +6,14 @@ Subject: [PATCH 1002/1007] MacPorts Only: Fix name of scan-view executable
</span> 
 http://trac.macports.org/ticket/35006
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/scan-build/bin/scan-build | 2 ++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 2 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/clang/tools/scan-build/bin/scan-build macports_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 903e19a290..0be6057853 100755
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/clang/tools/scan-build/bin/scan-build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1933,6 +1933,8 @@ if (defined $Options{OutputFormat}) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       Diag "Analysis run complete.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       Diag "Viewing analysis results in '$Options{OutputDir}' using scan-view.\n";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       my $ScanView = Cwd::realpath("$RealBin/scan-view");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../scan-view/scan-view"); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if (! -x $ScanView) { $ScanView = "scan-view"; }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../../scan-view/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       exec $ScanView, "$Options{OutputDir}";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm/tools/clang/tools/scan-build/bin/scan-build.orig  2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ llvm/tools/clang/tools/scan-build/bin/scan-build       2020-05-07 12:22:47.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -969,6 +969,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if ($Options{ViewResults} and -r "$Options{OutputDir}/index.html") {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         Diag "Viewing analysis results in '$Options{OutputDir}' using scan-view.\n";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         my $ScanView = Cwd::realpath("$RealBin/scan-view");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../scan-view/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (! -x $ScanView) { $ScanView = "scan-view"; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (! -x $ScanView) { $ScanView = Cwd::realpath("$RealBin/../../scan-view/bin/scan-view"); }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         exec $ScanView, "$Options{OutputDir}";
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/2001-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch b/lang/llvm-devel/files/2001-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 80b52f7..2e852d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/2001-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/2001-xray-Define-O_CLOEXEC-for-older-SDKs-that-don-t-have.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,33 +4,10 @@ Date: Wed, 27 Dec 2017 23:21:37 -0800
</span> Subject: [PATCH 2001/2002] xray: Define O_CLOEXEC for older SDKs that don't
  have it
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/xray/xray_utils.cc  | 6 ++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lib/xray/xray_x86_64.cc | 6 ++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 12 insertions(+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/compiler-rt/lib/xray/xray_utils.cc macports_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 82674baa5..5caa31723 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/compiler-rt/lib/xray/xray_utils.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -36,6 +36,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <zircon/syscalls.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef O_CLOEXEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define O_CLOEXEC 0x1000000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- namespace __xray {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if SANITIZER_FUCHSIA
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cc macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cpp macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cpp
</span> index e63ee1b3b..65b59ec61 100644
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm_master/projects/compiler-rt/lib/xray/xray_x86_64.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ macports_master/projects/compiler-rt/lib/xray/xray_x86_64.cpp
</span> @@ -26,6 +26,12 @@
  #include <tuple>
  #include <unistd.h>
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/4001-Revert-CMake-Check-that-a-certificate-for-lldb-is-pr.patch b/lang/llvm-devel/files/4001-Revert-CMake-Check-that-a-certificate-for-lldb-is-pr.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 545bb79..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/4001-Revert-CMake-Check-that-a-certificate-for-lldb-is-pr.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,42 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 18fa1f9e9bfc525b7ffc59088297694a89f36373 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Thu, 4 Jul 2019 20:08:00 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 4001/4001] Revert "[CMake] Check that a certificate for lldb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is present at build time."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://bugs.llvm.org/show_bug.cgi?id=42514
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This reverts commit cb1c23cd40cea52c0816004dfa4fe1f81ce93deb.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- tools/debugserver/source/CMakeLists.txt | 15 ---------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 15 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git llvm_master/tools/lldb/tools/debugserver/source/CMakeLists.txt macports_master/tools/lldb/tools/debugserver/source/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 863afaaec..d63dc23ef 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- llvm_master/tools/lldb/tools/debugserver/source/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ macports_master/tools/lldb/tools/debugserver/source/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -142,21 +142,6 @@ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   message(STATUS "lldb debugserver will not be available.")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# On MacOS, debugserver needs to be codesigned when built. Check if we have
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# a certificate instead of failing in the middle of the build.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(build_and_sign_debugserver)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  execute_process(
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    COMMAND security find-certificate -Z -p -c ${LLDB_CODESIGN_IDENTITY_USED} /Library/Keychains/System.keychain
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    RESULT_VARIABLE cert_return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    OUTPUT_QUIET
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    ERROR_QUIET)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if (cert_return)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    message(FATAL_ERROR "Certificate for debugserver not found. Run scripts/macos-setup-codesign.sh or "
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                        "use the system debugserver passing -DLLDB_USE_SYSTEM_DEBUGSERVER=ON to CMake")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(APPLE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if(IOS)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     find_library(BACKBOARD_LIBRARY BackBoardServices
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.21.0 (Apple Git-120)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff b/lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..95737ab
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5000-patch-compilerrtdarwinutils-find-macosxsdkversion.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake.orig  2020-04-20 17:14:08.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/projects/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake       2020-04-20 17:31:44.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -66,15 +66,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       ERROR_FILE /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if(NOT result_process EQUAL 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    message(FATAL_ERROR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      "Failed to determine SDK version for \"${sdk_name}\" SDK")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  # Check reported version looks sane.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (NOT "${var_internal}" MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+)?$")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    message(FATAL_ERROR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      "Reported SDK version \"${var_internal}\" does not look like a version")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   set(${var} ${var_internal} PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endfunction()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -125,6 +116,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     # binaries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if ("${os}" STREQUAL "osx")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       find_darwin_sdk_version(macosx_sdk_version "macosx")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      # if there is no sdk that responds to "macosx" use the CMAKE passed in deployment target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if(NOT macosx_sdk_version)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        message(WARNING "Could not determine MacOSX SDK Version, trying CMAKE_OSX_DEPLOYMENT_TARGET")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(macosx_sdk_version CMAKE_OSX_DEPLOYMENT_TARGET)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if ("${macosx_sdk_version}" VERSION_GREATER 10.15 OR "${macosx_sdk_version}" VERSION_EQUAL 10.15)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         message(STATUS "Disabling i386 slice for ${valid_archs}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         list(REMOVE_ITEM archs "i386")
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5000-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff b/lang/llvm-devel/files/5000-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 42a7e1b..d352328 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/5000-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5000-patch-lib-support-unix-path-copyfileclone-on-older-systems.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,12 +3,13 @@ index c64c0df..aaa2226 100644
</span> --- trunk/lib/Support/Unix/Path.inc.orig
 +++ trunk/lib/Support/Unix/Path.inc
 @@ -38,6 +38,9 @@
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ @@ -38,6 +38,9 @@
</span>  #include <mach-o/dyld.h>
  #include <sys/attr.h>
  #include <copyfile.h>
 +#ifndef COPYFILE_CLONE
 +#define COPYFILE_CLONE                (1<<24)
 +#endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>- #elif defined(__DragonFly__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <sys/mount.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #elif defined(__FreeBSD__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <osreldate.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if __FreeBSD_version >= 1300057
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5000-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff b/lang/llvm-devel/files/5000-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..122d21e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5000-patch-llvm8-tools-dsymutil-symbolmap-use-older-cfname-and-fix-uuid-on-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/dsymutil/SymbolMap.cpp b/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cab9374a..5c2377e4 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/dsymutil/SymbolMap.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -18,8 +18,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CoreFoundation/CoreFoundation.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <uuid/uuid.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* declare a missing reference not found in SDK < 10.6 for function called below */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef char * uuid_string_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++typedef struct __CFError * CFErrorRef;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define CFPropertyListCreateWithStream(A,B,C,D,E,F) CFPropertyListCreateFromStream(A,B,C,D,E,F)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</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;'>+ namespace llvm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace dsymutil {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5001-patch-libcxx-src-new-posix-memalign-leopard.diff b/lang/llvm-devel/files/5001-patch-libcxx-src-new-posix-memalign-leopard.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..87b5746
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5001-patch-libcxx-src-new-posix-memalign-leopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,53 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/projects/libcxx/src/new.cpp b/projects/libcxx/src/new.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cc8383d..ff09580 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/projects/libcxx/src/new.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/projects/libcxx/src/new.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -31,6 +31,48 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</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 defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED < 1060)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <errno.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int posix_memalign(void** pp, size_t alignment, size_t bytes) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* if alignment is 0 or not a power of 2 return bad value */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (alignment < sizeof( void *) ||            // excludes 0 == alignment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      0 != (alignment & (alignment - 1))) {     // relies on sizeof(void *) being a power of two.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return EINVAL;
</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;'>++  void* mem = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (alignment <= 16) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    /* MacOSX always returns memory aligned on
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     * a 16 byte alignment
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mem = malloc(bytes);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   /* if the caller wants a larger alignment than 16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * we give them a page-aligned allotment. This is not as efficient
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * as an optimized aligned memory implementation, but much
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * simpler, effective, and requires no changes to the rest of the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    * underlying memory management system.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    mem = valloc(bytes);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (mem == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return ENOMEM;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *pp = mem;
</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;'>++#endif
</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;'>+ namespace std
</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;color:#808080;'>diff --git a/lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff b/lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..6ea0b00
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5002-patch-toolchains-darwin-add-back-pre-10.6-link-libs.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,30 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+kencu@macports.org - add back runtime libraries used on 10.4 and 10.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+removed in https://github.com/llvm/llvm-project/commit/3434ade2b7ca351b61522f7da4b55070d811b83f
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+related, the following code used to add libclang_rt_10.4.a to Tiger, but this library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+is no longer built in the runtime library collections. If building for Tiger, it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+may be required to replace this library at some point.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+The line below this, adding "builtins" adds libclang_rt.osx.a, does the second part of this.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+it may be easiest to just add Tiger functions to libclang_rt.osx.a directly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // if (isMacosxVersionLT(10, 5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.10.4.a");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   // else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   //   AddLinkRuntimeLib(Args, CmdArgs, "libclang_rt.osx.a");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/clang/lib/Driver/ToolChains/Darwin.cpp b/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index bea877ae9..26f1ad714 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains/Darwin.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1140,6 +1140,12 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         getTriple().getArch() != llvm::Triple::aarch64)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       CmdArgs.push_back("-lgcc_s.1");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (isTargetMacOS()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (isMacosxVersionLT(10, 5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CmdArgs.push_back("-lgcc_s.10.4");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else if (isMacosxVersionLT(10, 6))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      CmdArgs.push_back("-lgcc_s.10.5");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   AddLinkRuntimeLib(Args, CmdArgs, "builtins");
</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;color:#808080;'>diff --git a/lang/llvm-devel/files/5003-patch-llvm10-strnlen.diff b/lang/llvm-devel/files/5003-patch-llvm10-strnlen.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..db634ea
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5003-patch-llvm10-strnlen.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,51 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp b/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 380f2e98..dbfe8ce6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -11,6 +11,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "llvm/Support/Errc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "llvm/Support/ErrorHandling.h"
</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;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static size_t strnlen(const char *s, size_t maxlen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  size_t l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (l < maxlen && *s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    l++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace llvm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace objcopy {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace macho {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/tools/llvm-objcopy/MachO/Object.cpp b/tools/llvm-objcopy/MachO/Object.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d3b4fdc2..3f88377b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/llvm-objcopy/MachO/Object.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/llvm-objcopy/MachO/Object.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "Object.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "../llvm-objcopy.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <Availability.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 1070
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static size_t strnlen(const char *s, size_t maxlen) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  size_t l = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  while (l < maxlen && *s) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    l++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    s++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return l;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace llvm {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace objcopy {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ namespace macho {
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff b/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4c0e20b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5003-patch-no-directory-watcher-on-snowleopard.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm-9.0.0.src/tools/clang/lib/DirectoryWatcher/CMakeLists.txt.orig    2019-09-23 17:31:12.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ llvm-9.0.0.src/tools/clang/lib/DirectoryWatcher/CMakeLists.txt 2019-09-23 17:31:35.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(DIRECTORY_WATCHER_SOURCES DirectoryScanner.cpp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(DIRECTORY_WATCHER_LINK_LIBS "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(APPLE AND (CMAKE_OSX_DEPLOYMENT_TARGET GREATER_EQUAL 10.7))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   check_include_files("CoreServices/CoreServices.h" HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if(HAVE_CORESERVICES)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     list(APPEND DIRECTORY_WATCHER_SOURCES mac/DirectoryWatcher-mac.cpp)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff b/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..6ada840
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/5005-MacPorts-only-patch-libcxx-includes-disable-availability-tests.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm-10.0.0.src/projects/libcxx/include/__config.orig  2020-04-28 09:59:15.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ llvm-10.0.0.src/projects/libcxx/include/__config       2020-04-28 10:00:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -10,6 +10,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define _LIBCPP_CONFIG
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// for MacPorts, our installed libcxx does not require Apple system
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// Availability tests
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define _LIBCPP_DISABLE_AVAILABILITY
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if defined(_MSC_VER) && !defined(__clang__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #    define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/9001-macports-libstdcxx.diff b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 9d9154e..dbff9c9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/9001-macports-libstdcxx.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -10,9 +10,9 @@
</span>    /// Whether header search information should be output as for -v.
    unsigned Verbose : 1;
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Frontend/CompilerInvocation.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Frontend/CompilerInvocation.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1967,8 +1967,10 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp.orig      2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp   2020-05-07 12:51:38.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2078,8 +2078,10 @@
</span>    Opts.UseBuiltinIncludes = !Args.hasArg(OPT_nobuiltininc);
    Opts.UseStandardSystemIncludes = !Args.hasArg(OPT_nostdsysteminc);
    Opts.UseStandardCXXIncludes = !Args.hasArg(OPT_nostdincxx);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,7 +21,7 @@
</span>      Opts.UseLibcxx = (strcmp(A->getValue(), "libc++") == 0);
 +    Opts.UseMacPortsLibstdcxx = (strcmp(A->getValue(), "macports-libstdc++") == 0);
 +  }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   Opts.ResourceDir = Args.getLastArgValue(OPT_resource_dir);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   Opts.ResourceDir = std::string(Args.getLastArgValue(OPT_resource_dir));
</span>  
    // Canonicalize -fmodules-cache-path before storing it.
 --- orig/tools/clang/lib/Frontend/InitHeaderSearch.cpp
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,15 +125,15 @@
</span>      // Unfortunately, -lstdc++ doesn't always exist in the standard search path;
      // it was previously found in the gcc lib dir. However, for all the Darwin
      // platforms we care about it was -lstdc++.6, so we search for that
<span style='display:block; white-space:pre;background:#ffe0e0;'>---- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -551,6 +551,8 @@ HexagonToolChain::GetCXXStdlibType(const ArgList &Args) const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ToolChain::CST_Libstdcxx;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- orig/tools/clang/lib/Driver/ToolChains/Hexagon.cpp.orig        2020-05-06 08:57:03.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ new/tools/clang/lib/Driver/ToolChains/Hexagon.cpp      2020-05-07 12:43:10.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -639,6 +639,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       return ToolChain::CST_Libstdcxx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span>    StringRef Value = A->getValue();
 +  if (Value == "macports-libstdc++")
 +    return ToolChain::CST_MacPortsLibstdcxx;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (Value != "libstdc++")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (Value != "libstdc++" && Value != "libc++")
</span>      getDriver().Diag(diag::err_drv_invalid_stdlib_name) << A->getAsString(Args);
  
 --- orig/tools/clang/lib/Driver/ToolChain.cpp
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/leopard-no-asan.patch b/lang/llvm-devel/files/leopard-no-asan.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 0a41a52..1f6fecb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/leopard-no-asan.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/leopard-no-asan.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,12 +1,12 @@
</span> --- a/projects/compiler-rt/cmake/config-ix.cmake       2015-11-29 22:17:04.000000000 -0800
 +++ b/projects/compiler-rt/cmake/config-ix.cmake       2015-11-29 22:19:16.000000000 -0800
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -228,9 +228,6 @@ if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -361,9 +361,6 @@
</span>      else()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-       set(SANITIZER_MIN_OSX_VERSION 10.9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
</span>      endif()
 -    if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
 -      message(FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too old.")
 -    endif()
<span style='display:block; white-space:pre;background:#ffe0e0;'>-     if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER "10.9")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '10.9' instead.")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       set(SANITIZER_MIN_OSX_VERSION 10.9)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '${DEFAULT_SANITIZER_MIN_OSX_VERSION}' instead.")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-devel/files/openmp-locations.patch b/lang/llvm-devel/files/openmp-locations.patch
</span><span style='display:block; white-space:pre;color:#808080;'>index 53419a2..cff10f9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-devel/files/openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-devel/files/openmp-locations.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,13 +11,12 @@ index 292cf72b56..d8c6327080 100644
</span>        CmdArgs.push_back("-fopenmp");
  
        // If no option regarding the use of TLS in OpenMP codegeneration is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/lib/Driver/ToolChains/CommonArgs.cpp b/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8a597b5b3a..9441bb8a56 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -444,15 +444,21 @@ bool tools::addOpenMPRuntime(ArgStringList &CmdArgs, const ToolChain &TC,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -u a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp.orig        2020-04-19 11:47:05.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp     2020-04-19 11:48:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -521,12 +521,18 @@
</span>  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-   switch (TC.getDriver().getOpenMPRuntime(Args)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   switch (RTKind) {
</span>    case Driver::OMPRT_OMP:
 +    // Automatically find MacPorts' libomp
 +    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,9 +26,6 @@ index 8a597b5b3a..9441bb8a56 100644
</span> +    // Automatically find MacPorts' libomp
 +    CmdArgs.push_back("-L@@PREFIX@@/lib/libomp");
      CmdArgs.push_back("-lgomp");
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     if (GompNeedsRT)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       CmdArgs.push_back("-lrt");
</span>      break;
    case Driver::OMPRT_IOMP5:
 +    // Automatically find MacPorts' libomp
</pre><pre style='margin:0'>

</pre>