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()
|