<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e9f8d09c6d2fe3e482cd4619d81123c3de315795">https://github.com/macports/macports-ports/commit/e9f8d09c6d2fe3e482cd4619d81123c3de315795</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e9f8d09c6d2fe3e482cd4619d81123c3de315795
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Thu Jan 12 05:41:13 2023 -0700

<span style='display:block; white-space:pre;color:#404040;'>    llvm-15: fix i386/x86_64 universal build
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://github.com/llvm/llvm-project/issues/59965
</span><span style='display:block; white-space:pre;color:#404040;'>    No revbump since port either builds correctly or not at all
</span>---
 lang/llvm-15/Portfile                 |  3 ++-
 lang/llvm-15/files/0999-i386-fix.diff | 29 +++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-15/Portfile b/lang/llvm-15/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 59b04e4fb37..a1c31a59a55 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/llvm-15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/llvm-15/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -133,7 +133,8 @@ patchfiles-append \
</span>     0014-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch \
     0015-Fixup-libstdc-header-search-paths-for-older-versions.patch \
     0019-10.6-and-less-use-emulated-TLS-before-10.7.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;'>+    0999-i386-fix.diff
</span> 
 if {${os.platform} eq "darwin" && ${os.major} < 14} {
     patchfiles-append \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/llvm-15/files/0999-i386-fix.diff b/lang/llvm-15/files/0999-i386-fix.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..476b7c4249d
</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-15/files/0999-i386-fix.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,29 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On x86_64 systems, assembly files are included in the build
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(see https://github.com/llvm/llvm-project/blob/1095870e8ceddc5371f446f4e7c3473f89a461cd/llvm/lib/Support/BLAKE3/CMakeLists.txt#L63).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+These assembly files files add symbols.       
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On i386  systems, the assembly files are not included but the symbols are never used.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(see https://github.com/llvm/llvm-project/blob/1095870e8ceddc5371f446f4e7c3473f89a461cd/llvm/lib/Support/BLAKE3/CMakeLists.txt#L14).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+On i386/x86_64 universal builds, the symbols are used but do not exist, causing a link error.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch attempts to prevent the use of nonexistent symbols.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+See https://github.com/llvm/llvm-project/issues/59965
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/llvm/lib/Support/BLAKE3/blake3_impl.h        2022-11-29 03:05:58.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/llvm/lib/Support/BLAKE3/blake3_impl.h        2023-01-11 11:28:42.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -78,6 +78,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MAX_SIMD_DEGREE 1
</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 defined(__i386__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BLAKE3_NO_AVX512
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BLAKE3_NO_AVX2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BLAKE3_NO_SSE41
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define BLAKE3_NO_SSE2
</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;'>+ // There are some places where we want a static size that's equal to the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // MAX_SIMD_DEGREE, but also at least 2.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define MAX_SIMD_DEGREE_OR_2 (MAX_SIMD_DEGREE > 2 ? MAX_SIMD_DEGREE : 2)
</span></pre><pre style='margin:0'>

</pre>