[llvm] fe846bc - Escape LLVM_TARGETS_TO_BUILD while checking against LLVM_ALL_TARGETS and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD (#70885)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 31 23:34:27 PDT 2023
Author: Natschz
Date: 2023-10-31T23:34:23-07:00
New Revision: fe846bc9bd164ed89cef1caefb681e0aee3d4dec
URL: https://github.com/llvm/llvm-project/commit/fe846bc9bd164ed89cef1caefb681e0aee3d4dec
DIFF: https://github.com/llvm/llvm-project/commit/fe846bc9bd164ed89cef1caefb681e0aee3d4dec.diff
LOG: Escape LLVM_TARGETS_TO_BUILD while checking against LLVM_ALL_TARGETS and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD (#70885)
Targeting X86 while building LLVM with the Android NDK, currently fails
with "The target `X86' is not a core tier target. It may be experimental,
if so it must be passed via LLVM_EXPERIMENTAL_TARGETS_TO_BUILD."
This is happening because the Android NDK defines a variable named X86,
which will lead to a "fun" CMake feature. For further details reference
[this post](https://discourse.llvm.org/t/the-target-x86-is-not-a-core-tier-target/73784).
To fix this, the LLVM_TARGETS_TO_BUILD need to be escaped while checking
agains LLVM_ALL_TARGETS and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.
Added:
Modified:
llvm/CMakeLists.txt
Removed:
################################################################################
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index 82d4beea91e346e..292efa3316df748 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -942,8 +942,8 @@ foreach(t ${LLVM_TARGETS_TO_BUILD})
# LLVM_EXPERIMENTAL_TARGETS_TO_BUILD, not LLVM_TARGETS_TO_BUILD.
# We allow experimental targets that are not in LLVM_ALL_EXPERIMENTAL_TARGETS,
# as long as they are passed via LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.
- if ( NOT ${t} IN_LIST LLVM_ALL_TARGETS AND NOT ${t} IN_LIST LLVM_EXPERIMENTAL_TARGETS_TO_BUILD )
- if( ${t} IN_LIST LLVM_ALL_EXPERIMENTAL_TARGETS )
+ if ( NOT "${t}" IN_LIST LLVM_ALL_TARGETS AND NOT "${t}" IN_LIST LLVM_EXPERIMENTAL_TARGETS_TO_BUILD )
+ if( "${t}" IN_LIST LLVM_ALL_EXPERIMENTAL_TARGETS )
message(FATAL_ERROR "The target `${t}' is experimental and must be passed "
"via LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.")
else()
More information about the llvm-commits
mailing list