[build images]

This commit is contained in:
Claude Bot
2026-02-02 09:26:18 +00:00
parent ff13c6852c
commit 45d8e42290
2 changed files with 10 additions and 8 deletions

View File

@@ -1,4 +1,3 @@
set(DEFAULT_ENABLE_LLVM ON)
# if target is bun-zig, set ENABLE_LLVM to OFF
@@ -12,7 +11,13 @@ if(NOT ENABLE_LLVM)
return()
endif()
set(DEFAULT_LLVM_VERSION "21.1.8")
# LLVM 21 is required for Windows ARM64 (first version with ARM64 Windows builds)
# Other platforms use LLVM 19.1.7
if(WIN32 AND CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64|aarch64|AARCH64")
set(DEFAULT_LLVM_VERSION "21.1.8")
else()
set(DEFAULT_LLVM_VERSION "19.1.7")
endif()
optionx(LLVM_VERSION STRING "The version of LLVM to use" DEFAULT ${DEFAULT_LLVM_VERSION})
@@ -72,12 +77,14 @@ macro(find_llvm_command variable command)
)
endif()
math(EXPR LLVM_VERSION_NEXT_MAJOR "${LLVM_VERSION_MAJOR} + 1")
find_command(
VARIABLE ${variable}
VERSION_VARIABLE LLVM_VERSION
COMMAND ${commands}
PATHS ${LLVM_PATHS}
VERSION "${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}"
VERSION ">=${LLVM_VERSION_MAJOR}.1.0 <${LLVM_VERSION_NEXT_MAJOR}.0.0"
)
list(APPEND CMAKE_ARGS -D${variable}=${${variable}})
endmacro()

View File

@@ -55,10 +55,6 @@ template<typename CollectionType, typename KeyType> static auto findInSortedPair
inline void checkEncodingTableInvariants() {}
#endif
// LLVM 21+ -Wcharacter-conversion flags intentional char32_t/char16_t comparisons
// used for Unicode code point range checks in findFirstInSortedPairs.
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wcharacter-conversion"
struct CompareFirst {
template<typename TypeA, typename TypeB> bool operator()(const TypeA& a, const TypeB& b)
{
@@ -136,6 +132,5 @@ template<typename CollectionType, typename KeyType> static auto findInSortedPair
}
return std::ranges::equal_range(collection, makeFirstAdapter(key), CompareFirst {});
}
#pragma clang diagnostic pop
}