diff options
author | Daniel Black <daniel@linux.ibm.com> | 2020-07-02 09:39:13 +1000 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2020-07-28 10:13:45 +1000 |
commit | 715beee46abb4c29bffd6f9c5fd5ee95da55bf4f (patch) | |
tree | b03936b0a5afe91c48804a1309b804166caf6a50 /storage/rocksdb | |
parent | d88ea260882ca414e940cd6af225617f00503f71 (diff) | |
download | mariadb-git-715beee46abb4c29bffd6f9c5fd5ee95da55bf4f.tar.gz |
MDEV-23051: riscv64 fails build (atomics)
riscv64 fails to build because the use
of #include <atomic> needs to link with -latomic.
per https://github.com/riscv/riscv-gnu-toolchain/issues/183#issuecomment-253721765
Diffstat (limited to 'storage/rocksdb')
-rw-r--r-- | storage/rocksdb/CMakeLists.txt | 7 | ||||
-rw-r--r-- | storage/rocksdb/build_rocksdb.cmake | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index cef5a8b2517..506dead7a6e 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -108,9 +108,15 @@ SET(ROCKSDB_SE_SOURCES # This is a strong requirement coming from RocksDB. No conditional checks here. #ADD_DEFINITIONS(-DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX #) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + SET(ATOMIC_EXTRA_LIBS -latomic) +else() + SET(ATOMIC_EXTRA_LIBS) +endif() MYSQL_ADD_PLUGIN(rocksdb ${ROCKSDB_SE_SOURCES} MODULE_ONLY STORAGE_ENGINE MODULE_OUTPUT_NAME ha_rocksdb + LINK_LIBRARIES ${ATOMIC_EXTRA_LIBS} COMPONENT rocksdb-engine) IF(NOT TARGET rocksdb) @@ -161,6 +167,7 @@ TARGET_LINK_LIBRARIES(rocksdb_aux_lib rocksdblib ${ZLIB_LIBRARY}) if (UNIX AND NOT APPLE) TARGET_LINK_LIBRARIES(rocksdb_aux_lib -lrt) endif() +TARGET_LINK_LIBRARIES(rocksdb_aux_lib ${ATOMIC_EXTRA_LIBS}) # IF (WITH_JEMALLOC) # FIND_LIBRARY(JEMALLOC_LIBRARY diff --git a/storage/rocksdb/build_rocksdb.cmake b/storage/rocksdb/build_rocksdb.cmake index 7d2252c5f77..adad1314594 100644 --- a/storage/rocksdb/build_rocksdb.cmake +++ b/storage/rocksdb/build_rocksdb.cmake @@ -132,6 +132,10 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") ADD_DEFINITIONS(-DHAVE_POWER8 -DHAS_ALTIVEC) endif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64") +if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64") + set(SYSTEM_LIBS ${SYSTEM_LIBS} -latomic) +endif() + option(WITH_FALLOCATE "build with fallocate" ON) if(WITH_FALLOCATE AND UNIX) |