diff options
author | Varun Gupta <varunraiko1803@gmail.com> | 2017-09-05 23:00:59 +0530 |
---|---|---|
committer | Varun Gupta <varunraiko1803@gmail.com> | 2017-09-05 23:00:59 +0530 |
commit | 80c90887fe952016df86abb6afd9aae02cfcaead (patch) | |
tree | 7cf6490e53414856edd315f171c59e6e591ff6e1 | |
parent | 4ae200a97a62ece765e940d8acb01cf1ada9de24 (diff) | |
download | mariadb-git-80c90887fe952016df86abb6afd9aae02cfcaead.tar.gz |
MDEV-13585: RocksDB plugin fails to build on macOS because of unknown type `timer_t` etc.
Rdb_io_watchdog can not be built on OS X. Disable it.
-rw-r--r-- | storage/rocksdb/CMakeLists.txt | 9 | ||||
-rw-r--r-- | storage/rocksdb/ha_rocksdb.cc | 10 | ||||
-rw-r--r-- | storage/rocksdb/rdb_io_watchdog.cc | 2 | ||||
-rw-r--r-- | storage/rocksdb/rdb_io_watchdog.h | 2 |
4 files changed, 14 insertions, 9 deletions
diff --git a/storage/rocksdb/CMakeLists.txt b/storage/rocksdb/CMakeLists.txt index 5db6d888bb6..6db82119b45 100644 --- a/storage/rocksdb/CMakeLists.txt +++ b/storage/rocksdb/CMakeLists.txt @@ -146,7 +146,10 @@ ADD_CONVENIENCE_LIBRARY(rocksdb_aux_lib ADD_DEPENDENCIES(rocksdb_aux_lib GenError) # MARIAROCKS-TODO: how to properly depend on -lrt ? -TARGET_LINK_LIBRARIES(rocksdb_aux_lib rocksdblib ${ZLIB_LIBRARY} -lrt) +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 rocksdb_aux_lib) @@ -182,7 +185,9 @@ ENDIF() # ADD_SUBDIRECTORY(unittest) #ENDIF() -SET(rocksdb_static_libs ${rocksdb_static_libs} "-lrt") +if (UNIX AND NOT APPLE) + SET(rocksdb_static_libs ${rocksdb_static_libs} "-lrt") +endif() ADD_LIBRARY(rocksdb_tools STATIC rocksdb/tools/ldb_tool.cc diff --git a/storage/rocksdb/ha_rocksdb.cc b/storage/rocksdb/ha_rocksdb.cc index 293d995126a..9868bbc926d 100644 --- a/storage/rocksdb/ha_rocksdb.cc +++ b/storage/rocksdb/ha_rocksdb.cc @@ -173,7 +173,7 @@ Rdb_ddl_manager ddl_manager; const char *m_mysql_gtid; Rdb_binlog_manager binlog_manager; -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) Rdb_io_watchdog *io_watchdog = nullptr; #endif /** @@ -554,7 +554,7 @@ static void rocksdb_set_io_write_timeout( void *const var_ptr MY_ATTRIBUTE((__unused__)), const void *const save) { DBUG_ASSERT(save != nullptr); DBUG_ASSERT(rdb != nullptr); -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) DBUG_ASSERT(io_watchdog != nullptr); #endif @@ -563,7 +563,7 @@ static void rocksdb_set_io_write_timeout( const uint32_t new_val = *static_cast<const uint32_t *>(save); rocksdb_io_write_timeout_secs = new_val; -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs); #endif RDB_MUTEX_UNLOCK_CHECK(rdb_sysvars_mutex); @@ -3984,7 +3984,7 @@ static int rocksdb_init_func(void *const p) { directories.push_back(myrocks::rocksdb_wal_dir); } -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) io_watchdog = new Rdb_io_watchdog(directories); io_watchdog->reset_timeout(rocksdb_io_write_timeout_secs); #endif @@ -4076,7 +4076,7 @@ static int rocksdb_done_func(void *const p) { delete commit_latency_stats; commit_latency_stats = nullptr; -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) delete io_watchdog; io_watchdog = nullptr; #endif diff --git a/storage/rocksdb/rdb_io_watchdog.cc b/storage/rocksdb/rdb_io_watchdog.cc index a599ba58aec..b41e9248d52 100644 --- a/storage/rocksdb/rdb_io_watchdog.cc +++ b/storage/rocksdb/rdb_io_watchdog.cc @@ -22,7 +22,7 @@ #include <vector> /* Rdb_io_watchdog doesn't work on Windows [yet] */ -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) namespace myrocks { diff --git a/storage/rocksdb/rdb_io_watchdog.h b/storage/rocksdb/rdb_io_watchdog.h index de8c1b9500e..c50547745df 100644 --- a/storage/rocksdb/rdb_io_watchdog.h +++ b/storage/rocksdb/rdb_io_watchdog.h @@ -35,7 +35,7 @@ namespace myrocks { // Rdb_io_watchdog does not support Windows ATM. -#ifndef _WIN32 +#if !defined(_WIN32) && !defined(__APPLE__) class Rdb_io_watchdog { const int RDB_IO_WRITE_BUFFER_SIZE = 4096; |