Commit 5b2e3b01 authored by Sergei Golubchik's avatar Sergei Golubchik

fixes for buildbot

* disable jemalloc on windows (cannot run ./configure)
* disable jemalloc on ancient cmake (ExternalProject does not work)
* rewrite TokuDB compiler test to check for features, not versions (to work on cmake before 2.8.11)
* fix ft-index to not add VALGRIND_INCLUDE_DIR to includes, if no valgrind was found
* correct the package name in FindValgrind.cmake (for find_package(... REQUIRED) to work)
* disable ft-index tests by default (faster compilation and they aren't used anyway)
* don't build ft-index with valgrind by default (otherwise it *requires* valgrind, it doesn't auto-detect)
* use --loose-tokudb in the .opt file
parent 3a528261
# old cmake does not have ExternalProject file
IF(CMAKE_VERSION VERSION_LESS "2.8.6")
MACRO (CHECK_JEMALLOC)
ENDMACRO()
RETURN()
ENDIF()
INCLUDE(ExternalProject) INCLUDE(ExternalProject)
MACRO (USE_BUNDLED_JEMALLOC) MACRO (USE_BUNDLED_JEMALLOC)
...@@ -27,6 +34,9 @@ SET(WITH_JEMALLOC "yes" CACHE STRING ...@@ -27,6 +34,9 @@ SET(WITH_JEMALLOC "yes" CACHE STRING
#"Which jemalloc to use (possible values are 'no', 'bundled', 'system', 'yes' (system if possible, otherwise bundled)") #"Which jemalloc to use (possible values are 'no', 'bundled', 'system', 'yes' (system if possible, otherwise bundled)")
MACRO (CHECK_JEMALLOC) MACRO (CHECK_JEMALLOC)
IF(WIN32)
SET(WITH_JEMALLOC "no")
ENDIF()
IF(WITH_JEMALLOC STREQUAL "bundled" OR WITH_JEMALLOC STREQUAL "yes") IF(WITH_JEMALLOC STREQUAL "bundled" OR WITH_JEMALLOC STREQUAL "yes")
USE_BUNDLED_JEMALLOC() USE_BUNDLED_JEMALLOC()
ENDIF() ENDIF()
......
# ft-index can be compiled only with gcc-4.7+, cmake-2.8.8+ # ft-index only supports x86-64 and cmake-2.8.8+
# and supports only x86-64 platform IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND
IF(NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR NOT CMAKE_VERSION VERSION_LESS "2.8.8")
CMAKE_VERSION VERSION_LESS "2.8.8" OR CHECK_CXX_SOURCE_COMPILES(
NOT CMAKE_COMPILER_IS_GNUCXX OR "
CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.7") struct a {int b; int c; };
IF (NOT WITHOUT_TOKUDB) struct a d = { .b=1, .c=2 };
MESSAGE("TokuDB is disabled: not supported int main() { return 0; }
(${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_VERSION}-<${CMAKE_COMPILER_IS_GNUCXX}>-${CMAKE_CXX_COMPILER_VERSION}") " TOKUDB_OK)
ENDIF() ENDIF()
IF(NOT TOKUDB_OK)
RETURN() RETURN()
ENDIF() ENDIF()
SET(ENV{TOKUDB_VERSION} "7.0.2") SET(ENV{TOKUDB_VERSION} "7.0.4")
SET(USE_BDB OFF CACHE BOOL "") SET(USE_BDB OFF CACHE BOOL "")
SET(USE_VALGRIND OFF CACHE BOOL "")
SET(BUILD_TESTING OFF CACHE BOOL "")
############################################ ############################################
IF(DEFINED ENV{TOKUDB_VERSION}) IF(DEFINED ENV{TOKUDB_VERSION})
......
...@@ -19,9 +19,11 @@ include(TokuMergeLibs) ...@@ -19,9 +19,11 @@ include(TokuMergeLibs)
set(LIBTOKUPORTABILITY "tokuportability" CACHE STRING "Name of libtokuportability.so") set(LIBTOKUPORTABILITY "tokuportability" CACHE STRING "Name of libtokuportability.so")
set(LIBTOKUDB "tokufractaltree" CACHE STRING "Name of libtokufractaltree.so") set(LIBTOKUDB "tokufractaltree" CACHE STRING "Name of libtokufractaltree.so")
if(USE_VALGRIND)
include_directories( include_directories(
${VALGRIND_INCLUDE_DIR} ${VALGRIND_INCLUDE_DIR}
) )
endif()
include_directories( include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/toku_include ${CMAKE_CURRENT_SOURCE_DIR}/toku_include
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
find_path(VALGRIND_INCLUDE_DIR valgrind/memcheck.h) find_path(VALGRIND_INCLUDE_DIR valgrind/memcheck.h)
find_program(VALGRIND_PROGRAM NAMES valgrind) find_program(VALGRIND_PROGRAM NAMES valgrind)
find_package_handle_standard_args(VALGRIND DEFAULT_MSG find_package_handle_standard_args(Valgrind DEFAULT_MSG
VALGRIND_INCLUDE_DIR VALGRIND_INCLUDE_DIR
VALGRIND_PROGRAM) VALGRIND_PROGRAM)
......
--tokudb --plugin-load=$HA_TOKUDB_SO --loose-tokudb --plugin-load=$HA_TOKUDB_SO
...@@ -61,7 +61,7 @@ TOKUDB_DESCRIPTOR_SET ...@@ -61,7 +61,7 @@ TOKUDB_DESCRIPTOR_SET
TOKUDB_DICTIONARY_BROADCAST_UPDATES TOKUDB_DICTIONARY_BROADCAST_UPDATES
TOKUDB_DICTIONARY_UPDATES TOKUDB_DICTIONARY_UPDATES
TOKUDB_FILESYSTEM_FSYNC_NUM TOKUDB_FILESYSTEM_FSYNC_NUM
TOKUDB_FILESYSTEM_FSYNC_TIME TOKUDB_FILESYSTEM_FSYNC_SECONDS
TOKUDB_FILESYSTEM_THREADS_BLOCKED_BY_FULL_DISK TOKUDB_FILESYSTEM_THREADS_BLOCKED_BY_FULL_DISK
TOKUDB_LEAF_COMPRESSION_TO_MEMORY_SECONDS TOKUDB_LEAF_COMPRESSION_TO_MEMORY_SECONDS
TOKUDB_LEAF_DECOMPRESSION_TO_MEMORY_SECONDS TOKUDB_LEAF_DECOMPRESSION_TO_MEMORY_SECONDS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment