summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@sanjaLaptopT>2017-12-13 11:52:53 +0100
committerOleksandr Byelkin <sanja@sanjaLaptopT>2017-12-14 14:09:51 +0100
commitef9e78c9d41a5ac644f08068e3dabad948b0e30a (patch)
treea6a0144008184f124d89caf32ffdf781b0472097
parent7be5b6f0e6170461e7ccc6ec7947436af2e43e41 (diff)
downloadmariadb-git-ef9e78c9d41a5ac644f08068e3dabad948b0e30a.tar.gz
MDEV-14524 TokuDB is unable to be built on Linux
tokudb needs either F_NOCACHE or O_DIRECT, not both
-rw-r--r--storage/tokudb/CMakeLists.txt8
1 files changed, 6 insertions, 2 deletions
diff --git a/storage/tokudb/CMakeLists.txt b/storage/tokudb/CMakeLists.txt
index 4e0291545ec..f01c4aed449 100644
--- a/storage/tokudb/CMakeLists.txt
+++ b/storage/tokudb/CMakeLists.txt
@@ -4,13 +4,17 @@ IF(CMAKE_VERSION VERSION_LESS "2.8.9")
MESSAGE(STATUS "CMake 2.8.9 or higher is required by TokuDB")
ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR
CMAKE_SYSTEM_PROCESSOR STREQUAL "amd64")
-# tokudb requires F_NOCACHE, O_DIRECT, and designated initializers
+# tokudb requires F_NOCACHE or O_DIRECT, and designated initializers
CHECK_CXX_SOURCE_COMPILES(
"
#include <fcntl.h>
struct a {int b; int c; };
struct a d = { .b=1, .c=2 };
-int main() { return F_NOCACHE + O_DIRECT; }
+#if defined(O_DIRECT) || defined(F_NOCACHE)
+int main() { return 0; }
+#else
+#error
+#endif
" TOKUDB_OK)
ENDIF()