<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/21b7fa2221f34a0e96d35a3675f5ad93caf08c38">https://github.com/macports/macports-ports/commit/21b7fa2221f34a0e96d35a3675f5ad93caf08c38</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 21b7fa2221f clang-12: use upstream patch to reenable parallel building
</span>21b7fa2221f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 21b7fa2221f34a0e96d35a3675f5ad93caf08c38
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Sun Aug 15 21:24:53 2021 -0700

<span style='display:block; white-space:pre;color:#404040;'>    clang-12: use upstream patch to reenable parallel building
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    see: https://trac.macports.org/ticket/63085
</span>---
 lang/llvm-12/Portfile                              |   6 +-
 .../files/0026-compiler-rt-parallel-D106305.patch  | 100 +++++++++++++++++++++
 2 files changed, 102 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-12/Portfile b/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ec22b2058cc..c31f3bd1afb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -117,7 +117,8 @@ patchfiles-append \
</span>     0013-clang-add-back-runtime-libraries-used-on-10.4-and-10.patch \
     0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
     0015-Fixup-libstdc-header-search-paths-for-older-versions.patch \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    0025-lldb-add-defines-needed-for-older-SDKs.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0025-lldb-add-defines-needed-for-older-SDKs.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    0026-compiler-rt-parallel-D106305.patch
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 14} {
     patchfiles-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -208,9 +209,6 @@ if {${subport} eq "clang-${llvm_version}"} {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # disable parallel building until upstream fixes the race condition in compiler_rt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    use_parallel_build no
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span>     # CMAKE_LINKER is used to determine the value for HOST_LINK_VERSION
     configure.args-append \
         -DCMAKE_LINKER=${prefix}/bin/ld    \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-12/files/0026-compiler-rt-parallel-D106305.patch b/lang/llvm-12/files/0026-compiler-rt-parallel-D106305.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8380eb9cf01
</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-12/files/0026-compiler-rt-parallel-D106305.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,100 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From b31080c596246bc26d2493cfd5e07f053cf9541c Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Raul Tambre <raul@tambre.ee>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Wed, 21 Jul 2021 20:38:24 +0300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] [compiler-rt][CMake][arm64] Use a custom target for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ symlinking LSE sources
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On Apple platforms the builtins may be built for both arm64 and arm64e.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+With Makefile generators separate targets are built using Make sub-invocations.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This causes a race when creating the symlink which may sometimes fail.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Work around this by using a custom target that the builtin targets depend on.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This causes any sub-invocations to depend on the symlinks having been created before.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Mailing list thread: https://lists.llvm.org/pipermail/llvm-dev/2021-July/151822.html
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Reviewed By: thakis, steven_wu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Differential Revision: https://reviews.llvm.org/D106305
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../cmake/Modules/CompilerRTDarwinUtils.cmake   | 14 ++++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ compiler-rt/lib/builtins/CMakeLists.txt         | 17 +++++++++++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 2 files changed, 27 insertions(+), 4 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 380ae031a0fea..276fcbb9c0e3c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -405,6 +405,18 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       ../profile/InstrProfilingVersionVar.c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   foreach (os ${ARGN})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     list_intersect(DARWIN_BUILTIN_ARCHS DARWIN_${os}_BUILTIN_ARCHS BUILTIN_SUPPORTED_ARCH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if((arm64 IN_LIST DARWIN_BUILTIN_ARCHS OR arm64e IN_LIST DARWIN_BUILTIN_ARCHS) AND NOT TARGET lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      add_custom_target(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        lse_builtin_symlinks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        BYPRODUCTS ${lse_builtins}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        ${arm64_lse_commands}
</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;'>++      set(deps_arm64 lse_builtin_symlinks)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      set(deps_arm64e lse_builtin_symlinks)
</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;'>+     foreach (arch ${DARWIN_BUILTIN_ARCHS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       darwin_find_excluded_builtins_list(${arch}_${os}_EXCLUDED_BUILTINS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -419,6 +431,7 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       darwin_add_builtin_library(clang_rt builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               ARCH ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                              DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               SOURCES ${filtered_sources}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               CFLAGS ${CFLAGS} -arch ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               PARENT_TARGET builtins)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -443,6 +456,7 @@ macro(darwin_add_builtin_libraries)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         darwin_add_builtin_library(clang_rt cc_kext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 OS ${os}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 ARCH ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                                DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 SOURCES ${filtered_sources} ${PROFILE_SOURCES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 CFLAGS ${CFLAGS} -arch ${arch} -mkernel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                 DEFS KERNEL_USE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/compiler-rt/lib/builtins/CMakeLists.txt b/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 628fe0558fdc2..59d83631a5f43 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/compiler-rt/lib/builtins/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -531,10 +531,8 @@ foreach(pat cas swp ldadd ldclr ldeor ldset)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     foreach(model 1 2 3 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if(pat STREQUAL "cas" OR NOT size STREQUAL "16")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         set(helper_asm "${OA_HELPERS_DIR}/outline_atomic_${pat}${size}_${model}.S")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        add_custom_command(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          OUTPUT ${helper_asm}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          COMMAND ${CMAKE_COMMAND} -E ${COMPILER_RT_LINK_OR_COPY} "${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S" "${helper_asm}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        list(APPEND lse_builtins "${helper_asm}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        list(APPEND arm64_lse_commands COMMAND ${CMAKE_COMMAND} -E ${COMPILER_RT_LINK_OR_COPY} "${CMAKE_CURRENT_SOURCE_DIR}/aarch64/lse.S" "${helper_asm}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         set_source_files_properties("${helper_asm}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           PROPERTIES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           COMPILE_DEFINITIONS "L_${pat};SIZE=${size};MODEL=${model}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -741,9 +739,20 @@ else ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128)
</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;'>++      if(arch STREQUAL "aarch64")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        add_custom_target(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          lse_builtin_symlinks
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          BYPRODUCTS ${lse_builtins}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          ${arm64_lse_commands}
</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;'>++        set(deps_aarch64 lse_builtin_symlinks)
</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;'>+       add_compiler_rt_runtime(clang_rt.builtins
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               STATIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               ARCHS ${arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                              DEPS ${deps_${arch}}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               SOURCES ${${arch}_SOURCES}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               DEFS ${BUILTIN_DEFS}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                               CFLAGS ${BUILTIN_CFLAGS_${arch}}
</span></pre><pre style='margin:0'>

</pre>