diff --git a/CMakeLists.txt b/CMakeLists.txt index 13f4dc6e91f4bbaf7f2f7dfda8fa15e802b5b4c7..d87ff931b71c543e756c065298aad031be0e8c0b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,19 +41,20 @@ endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/") -if(MSVC) +if(WIN32) include(${CMAKE_CURRENT_SOURCE_DIR}/thirdparty.inc) else() option(WITH_JEMALLOC "build with JeMalloc" OFF) - if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") - # FreeBSD has jemaloc as default malloc - set(WITH_JEMALLOC ON) - endif() if(WITH_JEMALLOC) find_package(JeMalloc REQUIRED) - add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) + add_definitions(-DROCKSDB_JEMALLOC) include_directories(${JEMALLOC_INCLUDE_DIR}) endif() + if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + # FreeBSD has jemaloc as default malloc + add_definitions(-DROCKSDB_JEMALLOC) + set(WITH_JEMALLOC ON) + endif() option(WITH_SNAPPY "build with SNAPPY" OFF) if(WITH_SNAPPY) find_package(snappy REQUIRED) diff --git a/Makefile b/Makefile index 50b026af82071e31d8031aec9eb8b8ed1b2daf5b..e7959e5f1b5ed7b99f00411d9edd1564e079823e 100644 --- a/Makefile +++ b/Makefile @@ -204,8 +204,8 @@ endif ifndef DISABLE_JEMALLOC ifdef JEMALLOC - PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " - PLATFORM_CCFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " + PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC" + PLATFORM_CCFLAGS += "-DROCKSDB_JEMALLOC" endif EXEC_LDFLAGS := $(JEMALLOC_LIB) $(EXEC_LDFLAGS) PLATFORM_CXXFLAGS += $(JEMALLOC_INCLUDE) diff --git a/cmake/modules/FindJeMalloc.cmake b/cmake/modules/FindJeMalloc.cmake index 7911f77c4c35b5cf0fa47ff98282986eef974832..bb9cc18c01720990f6a0a4b0e017d586bb68881f 100644 --- a/cmake/modules/FindJeMalloc.cmake +++ b/cmake/modules/FindJeMalloc.cmake @@ -1,21 +1,22 @@ # - Find JeMalloc library # Find the native JeMalloc includes and library +# This module defines +# JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when +# JEMALLOC_INCLUDE_DIR is found. +# JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc. +# JEMALLOC_FOUND, If false, do not try to use JeMalloc. # -# JEMALLOC_INCLUDE_DIR - where to find jemalloc.h, etc. -# JEMALLOC_LIBRARIES - List of libraries when using jemalloc. -# JEMALLOC_FOUND - True if jemalloc found. - find_path(JEMALLOC_INCLUDE_DIR - NAMES jemalloc/jemalloc.h - HINTS ${JEMALLOC_ROOT_DIR}/include) + jemalloc/jemalloc.h) find_library(JEMALLOC_LIBRARIES - NAMES jemalloc - HINTS ${JEMALLOC_ROOT_DIR}/lib) + jemalloc) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(jemalloc DEFAULT_MSG JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) +find_package_handle_standard_args(JeMalloc DEFAULT_MSG + JEMALLOC_LIBRARIES JEMALLOC_INCLUDE_DIR) -mark_as_advanced( +MARK_AS_ADVANCED( + JEMALLOC_INCLUDE_DIR JEMALLOC_LIBRARIES - JEMALLOC_INCLUDE_DIR) +) diff --git a/cmake/modules/Findsnappy.cmake b/cmake/modules/Findsnappy.cmake index 6ed5fda3d57dd83a806781b3d4d0c075d3e59e01..b298cd256d027a738a9b725b74a25359b4b1184b 100644 --- a/cmake/modules/Findsnappy.cmake +++ b/cmake/modules/Findsnappy.cmake @@ -13,6 +13,8 @@ find_library(SNAPPY_LIBRARIES NAMES snappy HINTS ${SNAPPY_ROOT_DIR}/lib) +# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if +# all listed variables are TRUE include(FindPackageHandleStandardArgs) find_package_handle_standard_args(snappy DEFAULT_MSG SNAPPY_LIBRARIES SNAPPY_INCLUDE_DIR) diff --git a/db/db_impl.cc b/db/db_impl.cc index a767eedee84e53fc12ac71d83098b23c1e667417..8c9aa5f1291bae40a11b13107197c772a7d6faa4 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -597,7 +597,7 @@ static void DumpMallocStats(std::string* stats) { std::unique_ptr buf{new char[kMallocStatusLen + 1]}; mstat.cur = buf.get(); mstat.end = buf.get() + kMallocStatusLen; - je_malloc_stats_print(GetJemallocStatus, &mstat, ""); + malloc_stats_print(GetJemallocStatus, &mstat, ""); stats->append(buf.get()); #endif // ROCKSDB_JEMALLOC } diff --git a/examples/Makefile b/examples/Makefile index 88e8bcab2faabd2d3b0c2a9c1ca8ce4435b93b30..3b302ac09e268d93b50448b171f9df102703b8d4 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -2,7 +2,7 @@ include ../make_config.mk ifndef DISABLE_JEMALLOC ifdef JEMALLOC - PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " + PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC" endif EXEC_LDFLAGS := $(JEMALLOC_LIB) $(EXEC_LDFLAGS) -lpthread PLATFORM_CXXFLAGS += $(JEMALLOC_INCLUDE)