diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-09-18 17:00:44 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-09-18 17:00:44 +0200 |
commit | e41bca0066ddcda39b5a3eef17deae066cd113d9 (patch) | |
tree | 6526d5302b0bfddf6be3e0272e237a9be7847a20 /cmake | |
parent | 33656e042dc7e983c9612a011fdef64a8dd40aa1 (diff) | |
download | mariadb-git-e41bca0066ddcda39b5a3eef17deae066cd113d9.tar.gz |
support statically linked jemalloc. use that for release builds
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/build_configurations/mysql_release.cmake | 2 | ||||
-rw-r--r-- | cmake/jemalloc.cmake | 21 |
2 files changed, 17 insertions, 6 deletions
diff --git a/cmake/build_configurations/mysql_release.cmake b/cmake/build_configurations/mysql_release.cmake index e705fd6dfdb..543b66477bd 100644 --- a/cmake/build_configurations/mysql_release.cmake +++ b/cmake/build_configurations/mysql_release.cmake @@ -123,7 +123,7 @@ IF(UNIX) SET(WITH_EXTRA_CHARSETS all CACHE STRING "") IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") - SET(WITH_JEMALLOC "yes" CACHE STRING "") + SET(WITH_JEMALLOC "static" CACHE STRING "") IF(NOT IGNORE_AIO_CHECK) # Ensure aio is available on Linux (required by InnoDB) diff --git a/cmake/jemalloc.cmake b/cmake/jemalloc.cmake index 3ad24f8f6cb..39a97334071 100644 --- a/cmake/jemalloc.cmake +++ b/cmake/jemalloc.cmake @@ -12,12 +12,23 @@ MACRO (CHECK_JEMALLOC) SET(WITH_JEMALLOC "yes") ENDIF() - IF(WITH_JEMALLOC STREQUAL "yes" OR WITH_JEMALLOC STREQUAL "auto") - CHECK_LIBRARY_EXISTS(jemalloc malloc_stats_print "" HAVE_JEMALLOC) + IF(WITH_JEMALLOC STREQUAL "yes" OR WITH_JEMALLOC STREQUAL "auto" OR + WITH_JEMALLOC STREQUAL "static") + + IF(WITH_JEMALLOC STREQUAL "static") + SET(libname jemalloc_pic) + SET(CMAKE_REQUIRED_LIBRARIES pthread dl m) + ELSE() + SET(libname jemalloc) + ENDIF() + + CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_JEMALLOC) + SET(CMAKE_REQUIRED_LIBRARIES) + IF (HAVE_JEMALLOC) - SET(LIBJEMALLOC jemalloc) - ELSEIF (WITH_JEMALLOC STREQUAL "yes") - MESSAGE(FATAL_ERROR "jemalloc is not found") + SET(LIBJEMALLOC ${libname}) + ELSEIF (NOT WITH_JEMALLOC STREQUAL "auto") + MESSAGE(FATAL_ERROR "${libname} is not found") ENDIF() ENDIF() ENDMACRO() |