summaryrefslogtreecommitdiff
path: root/dev-lang/zig/files/zig-0.10.0-avoid-cmake-bug.patch
blob: bfc8ac3fde7fee3b1cc485d7cb82eb134112e2dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
https://github.com/ziglang/zig/commit/fe2bd9dda8467b775da4fe3bd535aece9e07ee1b
Bug https://bugs.gentoo.org/886569

From fe2bd9dda8467b775da4fe3bd535aece9e07ee1b Mon Sep 17 00:00:00 2001
From: Eric Joldasov <bratishkaerik@getgoogleoff.me>
Date: Wed, 4 Jan 2023 01:04:48 +0600
Subject: [PATCH] cmake: move 'continue' statement to avoid cmake bug

---
 cmake/Findllvm.cmake | 32 +++++++++++---------------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
index 60a52056d8d..d8662034579 100644
--- a/cmake/Findllvm.cmake
+++ b/cmake/Findllvm.cmake
@@ -79,7 +79,11 @@ if(ZIG_USE_LLVM_CONFIG)
         OUTPUT_VARIABLE LLVM_TARGETS_BUILT_SPACES
       OUTPUT_STRIP_TRAILING_WHITESPACE)
     string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}")
-    function(NEED_TARGET TARGET_NAME)
+
+    set(ZIG_LLVM_REQUIRED_TARGETS "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;Mips;MSP430;NVPTX;PowerPC;RISCV;Sparc;SystemZ;VE;WebAssembly;X86;XCore")
+
+    set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED TRUE)
+    foreach(TARGET_NAME IN LISTS ZIG_LLVM_REQUIRED_TARGETS)
       list (FIND LLVM_TARGETS_BUILT "${TARGET_NAME}" _index)
       if (${_index} EQUAL -1)
         # Save the error message, in case this is the last llvm-config we find
@@ -87,27 +91,13 @@ if(ZIG_USE_LLVM_CONFIG)
 
         # Ignore this directory and try the search again
         list(APPEND CMAKE_IGNORE_PATH "${LLVM_CONFIG_DIR}")
-        continue()
+        set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED FALSE)
+        break()
       endif()
-    endfunction(NEED_TARGET)
-    NEED_TARGET("AArch64")
-    NEED_TARGET("AMDGPU")
-    NEED_TARGET("ARM")
-    NEED_TARGET("AVR")
-    NEED_TARGET("BPF")
-    NEED_TARGET("Hexagon")
-    NEED_TARGET("Lanai")
-    NEED_TARGET("Mips")
-    NEED_TARGET("MSP430")
-    NEED_TARGET("NVPTX")
-    NEED_TARGET("PowerPC")
-    NEED_TARGET("RISCV")
-    NEED_TARGET("Sparc")
-    NEED_TARGET("SystemZ")
-    NEED_TARGET("VE")
-    NEED_TARGET("WebAssembly")
-    NEED_TARGET("X86")
-    NEED_TARGET("XCore")
+    endforeach()
+    if (NOT ZIG_LLVM_REQUIRED_TARGETS_ENABLED)
+      continue()
+    endif()
 
     # Got it!
     break()