Skip to content

Commit 289fe37

Browse files
committed
MDEV-9350 Fix jemalloc detection for FreeBSD
on FreeBSD 10 jemalloc is in libc, no separate libjemalloc is needed
1 parent 74d86d1 commit 289fe37

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

cmake/jemalloc.cmake

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,22 @@ MACRO (CHECK_JEMALLOC)
2020
SET(CMAKE_REQUIRED_LIBRARIES pthread dl m)
2121
SET(what bundled)
2222
ELSE()
23-
SET(libname jemalloc)
23+
SET(libname jemalloc c)
2424
SET(what system)
2525
ENDIF()
2626

27-
CHECK_LIBRARY_EXISTS(${libname} malloc_stats_print "" HAVE_JEMALLOC)
27+
FOREACH(lib ${libname})
28+
CHECK_LIBRARY_EXISTS(${lib} malloc_stats_print "" HAVE_JEMALLOC_IN_${lib})
29+
IF (HAVE_JEMALLOC_IN_${lib})
30+
SET(LIBJEMALLOC ${lib})
31+
SET(MALLOC_LIBRARY "${what} jemalloc")
32+
BREAK()
33+
ENDIF()
34+
ENDFOREACH()
2835
SET(CMAKE_REQUIRED_LIBRARIES)
2936

30-
IF (HAVE_JEMALLOC)
31-
SET(LIBJEMALLOC ${libname})
32-
SET(MALLOC_LIBRARY "${what} jemalloc")
33-
ELSEIF (NOT WITH_JEMALLOC STREQUAL "auto")
34-
MESSAGE(FATAL_ERROR "${libname} is not found")
37+
IF (NOT LIBJEMALLOC AND NOT WITH_JEMALLOC STREQUAL "auto")
38+
MESSAGE(FATAL_ERROR "jemalloc is not found")
3539
ENDIF()
3640
ENDIF()
3741
ENDMACRO()

0 commit comments

Comments
 (0)