From fadfd9ea282078a00bd39dc3b0fa30e6fe72e19e Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Fri, 9 May 2025 18:31:25 -0400 Subject: [PATCH] MDEV-37001 Enable building RocksDB on non-Linux aarch64 OSes Now that RocksDB has been synced up to 6.29 which includes the changes mentioned in the CMake comment support for building on non-Linux aarch64 OSes can be enabled. --- storage/rocksdb/CMakeLists.txt | 9 --------- storage/rocksdb/build_rocksdb.cmake | 4 ++-- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index 6bc60b526ff..606a8f40394 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -76,15 +76,6 @@ IF(MSVC_ARM64) SKIP_ROCKSDB_PLUGIN("Windows ARM64 not supported") ENDIF() -# -# Also, disable on ARM64 when not Linux -# Requires submodule update to v6.16.3 -# containing commit https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc -# -IF(CMAKE_SYSTEM_PROCESSOR MATCHES "(arm64|aarch64)" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Linux") - SKIP_ROCKSDB_PLUGIN("ARM64 disabled on all except Linux") -ENDIF() - # This plugin needs recent C++ compilers (it is using C++11 features) # Skip build for the old compilers SET(CXX11_FLAGS) diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index 3bb05c06caf..1cdbad49419 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -481,7 +481,7 @@ else() util/crc32c_ppc_asm.S) endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") # aarch - if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64|AARCH64") INCLUDE(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-march=armv8-a+crc+crypto" HAS_ARMV8_CRC) if(HAS_ARMV8_CRC) @@ -490,7 +490,7 @@ else() list(APPEND ROCKSDB_SOURCES util/crc32c_arm64.cc) endif(HAS_ARMV8_CRC) - endif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64") + endif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64|AARCH64") endif() SET(SOURCES) FOREACH(s ${ROCKSDB_SOURCES})