diff options
-rw-r--r-- | config.h.cmake | 1 | ||||
-rw-r--r-- | configure.cmake | 19 | ||||
-rw-r--r-- | storage/innobase/CMakeLists.txt | 23 | ||||
-rw-r--r-- | storage/xtradb/CMakeLists.txt | 22 |
4 files changed, 20 insertions, 45 deletions
diff --git a/config.h.cmake b/config.h.cmake index 066ddacfbf3..ae0306513c6 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -219,6 +219,7 @@ #cmakedefine HAVE_POSIX_FALLOCATE 1 #cmakedefine HAVE_LINUX_FALLOC_H 1 #cmakedefine HAVE_FALLOCATE 1 +#cmakedefine HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE 1 #cmakedefine HAVE_PREAD 1 #cmakedefine HAVE_PAUSE_INSTRUCTION 1 #cmakedefine HAVE_FAKE_PAUSE_INSTRUCTION 1 diff --git a/configure.cmake b/configure.cmake index 5efd0f5c14b..1dade02aa32 100644 --- a/configure.cmake +++ b/configure.cmake @@ -1058,3 +1058,22 @@ CHECK_STRUCT_HAS_MEMBER("struct dirent" d_ino "dirent.h" STRUCT_DIRENT_HAS_D_IN CHECK_STRUCT_HAS_MEMBER("struct dirent" d_namlen "dirent.h" STRUCT_DIRENT_HAS_D_NAMLEN) SET(SPRINTF_RETURNS_INT 1) CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H) + +IF(NOT MSVC) + CHECK_C_SOURCE_RUNS( + " + #define _GNU_SOURCE + #include <fcntl.h> + #include <linux/falloc.h> + int main() + { + /* Ignore the return value for now. Check if the flags exist. + The return value is checked at runtime. */ + fallocate(0, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 0); + + return(0); + }" + HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE + ) +ENDIF() + diff --git a/storage/innobase/CMakeLists.txt b/storage/innobase/CMakeLists.txt index 35d91298361..1a769b3a945 100644 --- a/storage/innobase/CMakeLists.txt +++ b/storage/innobase/CMakeLists.txt @@ -333,29 +333,6 @@ IF(MSVC) PROPERTIES COMPILE_FLAGS "/wd4003") ENDIF() - -IF(NOT MSVC) - CHECK_C_SOURCE_RUNS( - " - #define _GNU_SOURCE - #include <fcntl.h> - #include <linux/falloc.h> - int main() - { - /* Ignore the return value for now. Check if the flags exist. - The return value is checked at runtime. */ - fallocate(0, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 0); - - return(0); - }" - HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE - ) -ENDIF() - -IF(HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE) - ADD_DEFINITIONS(-DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE=1) -ENDIF() - SET(INNOBASE_SOURCES api/api0api.cc api/api0misc.cc diff --git a/storage/xtradb/CMakeLists.txt b/storage/xtradb/CMakeLists.txt index d6b0f080780..0ae3528e512 100644 --- a/storage/xtradb/CMakeLists.txt +++ b/storage/xtradb/CMakeLists.txt @@ -335,28 +335,6 @@ IF (MSVC AND CMAKE_SIZEOF_VOID_P EQUAL 8) PROPERTIES COMPILE_FLAGS -Od) ENDIF() -IF(NOT MSVC) - CHECK_C_SOURCE_RUNS( - " - #define _GNU_SOURCE - #include <fcntl.h> - #include <linux/falloc.h> - int main() - { - /* Ignore the return value for now. Check if the flags exist. - The return value is checked at runtime. */ - fallocate(0, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 0); - - return(0); - }" - HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE - ) -ENDIF() - -IF(HAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE) - ADD_DEFINITIONS(-DHAVE_FALLOC_PUNCH_HOLE_AND_KEEP_SIZE=1) -ENDIF() - SET(INNOBASE_SOURCES api/api0api.cc api/api0misc.cc |