diff options
author | Tamir Duberstein <tamird@gmail.com> | 2017-04-04 14:53:30 -0700 |
---|---|---|
committer | Facebook Github Bot <facebook-github-bot@users.noreply.github.com> | 2017-04-04 15:09:17 -0700 |
commit | 3450ac8c1bb6a4d1714c14578271a91ec3b2a320 (patch) | |
tree | 34b91bb5d4dacac9e24d419ac272c47cc4daf47a | |
parent | 90cfd46458d9b1a6751580cfad5c07867aba8452 (diff) |
CMake: more MinGW fixes
Summary:
See individual commits.
yuslepukhin siying
Closes https://github.com/facebook/rocksdb/pull/2081
Differential Revision: D4824639
Pulled By: IslamAbdelRahman
fbshipit-source-id: 2fc2b00
-rw-r--r-- | CMakeLists.txt | 13 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | cmake/modules/FindJeMalloc.cmake | 23 | ||||
-rw-r--r-- | cmake/modules/Findsnappy.cmake | 2 | ||||
-rw-r--r-- | db/db_impl.cc | 2 | ||||
-rw-r--r-- | examples/Makefile | 2 |
6 files changed, 21 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d87ff931b..13f4dc6e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,20 +41,19 @@ endif() list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/") -if(WIN32) +if(MSVC) 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) + add_definitions(-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE) 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) @@ -204,8 +204,8 @@ endif ifndef DISABLE_JEMALLOC ifdef JEMALLOC - PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC" - PLATFORM_CCFLAGS += "-DROCKSDB_JEMALLOC" + PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " + PLATFORM_CCFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " endif EXEC_LDFLAGS := $(JEMALLOC_LIB) $(EXEC_LDFLAGS) PLATFORM_CXXFLAGS += $(JEMALLOC_INCLUDE) diff --git a/cmake/modules/FindJeMalloc.cmake b/cmake/modules/FindJeMalloc.cmake index bb9cc18c0..7911f77c4 100644 --- a/cmake/modules/FindJeMalloc.cmake +++ b/cmake/modules/FindJeMalloc.cmake @@ -1,22 +1,21 @@ # - 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 - jemalloc/jemalloc.h) + NAMES jemalloc/jemalloc.h + HINTS ${JEMALLOC_ROOT_DIR}/include) find_library(JEMALLOC_LIBRARIES - jemalloc) + NAMES jemalloc + HINTS ${JEMALLOC_ROOT_DIR}/lib) 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( - JEMALLOC_INCLUDE_DIR +mark_as_advanced( JEMALLOC_LIBRARIES -) + JEMALLOC_INCLUDE_DIR) diff --git a/cmake/modules/Findsnappy.cmake b/cmake/modules/Findsnappy.cmake index b298cd256..6ed5fda3d 100644 --- a/cmake/modules/Findsnappy.cmake +++ b/cmake/modules/Findsnappy.cmake @@ -13,8 +13,6 @@ 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 8c9aa5f12..a767eedee 100644 --- a/db/db_impl.cc +++ b/db/db_impl.cc @@ -597,7 +597,7 @@ static void DumpMallocStats(std::string* stats) { std::unique_ptr<char[]> buf{new char[kMallocStatusLen + 1]}; mstat.cur = buf.get(); mstat.end = buf.get() + kMallocStatusLen; - malloc_stats_print(GetJemallocStatus, &mstat, ""); + je_malloc_stats_print(GetJemallocStatus, &mstat, ""); stats->append(buf.get()); #endif // ROCKSDB_JEMALLOC } diff --git a/examples/Makefile b/examples/Makefile index 3b302ac09..88e8bcab2 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -2,7 +2,7 @@ include ../make_config.mk ifndef DISABLE_JEMALLOC ifdef JEMALLOC - PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC" + PLATFORM_CXXFLAGS += "-DROCKSDB_JEMALLOC -DJEMALLOC_NO_DEMANGLE " endif EXEC_LDFLAGS := $(JEMALLOC_LIB) $(EXEC_LDFLAGS) -lpthread PLATFORM_CXXFLAGS += $(JEMALLOC_INCLUDE) |