Skip to content

Commit 1f0cb5a

Browse files
committed
CDRIVER-2175 pthreads not compiled correctly in
1 parent 4db9aeb commit 1f0cb5a

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,12 @@ add_library(mongoc_static STATIC ${SOURCES} ${HEADERS})
533533

534534
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
535535

536-
set (LIBS ${SASL_LIBS} ${SSL_LIBS} ${SHM_LIB})
536+
set(THREADS_PREFER_PTHREAD_FLAG 1)
537+
find_package (Threads REQUIRED)
538+
if(CMAKE_USE_PTHREADS_INIT)
539+
set(THREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
540+
endif()
541+
set (LIBS ${SASL_LIBS} ${SSL_LIBS} ${SHM_LIB} Threads::Threads)
537542

538543
target_link_libraries (mongoc_shared ${LIBS} ${BSON_LIBRARIES})
539544
target_include_directories (mongoc_shared PUBLIC ${BSON_INCLUDE_DIRS})
@@ -732,7 +737,7 @@ set(VERSION "${MONGOC_VERSION}")
732737
set(prefix "${CMAKE_INSTALL_PREFIX}")
733738
set(libdir "\${prefix}/lib")
734739

735-
foreach(FLAG ${SASL_LIBS} ${SSL_LIBS} ${SHM_LIB})
740+
foreach(FLAG ${SASL_LIBS} ${SSL_LIBS} ${SHM_LIB} ${THREAD_LIB})
736741
if ( IS_ABSOLUTE "${FLAG}" )
737742
get_filename_component(FLAG_DIR "${FLAG}" DIRECTORY)
738743
get_filename_component(FLAG_FILE "${FLAG}" NAME_WE)

examples/Makefile.am

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
EXAMPLE_LDADD = libmongoc-1.0.la
2+
EXAMPLE_POOL_LDADD =
3+
EXAMPLE_POOL_CFLAGS =
24
if EXPLICIT_LIBS
35
EXAMPLE_LDADD += $(BSON_LIBS)
6+
EXAMPLE_POOL_LDADD += $(PTHREAD_LIBS)
7+
EXAMPLE_POOL_CFLAGS += $(PTHREAD_CFLAGS)
48
endif
59
EXAMPLE_CFLAGS = \
610
-I$(top_srcdir)/src/mongoc \
@@ -39,8 +43,8 @@ example_client_LDADD = $(EXAMPLE_LDADD)
3943

4044
noinst_PROGRAMS += example-pool
4145
example_pool_SOURCES = examples/example-pool.c
42-
example_pool_CFLAGS = $(EXAMPLE_CFLAGS)
43-
example_pool_LDADD = $(EXAMPLE_LDADD)
46+
example_pool_CFLAGS = $(EXAMPLE_CFLAGS) $(EXAMPLE_POOL_CFLAGS)
47+
example_pool_LDADD = $(EXAMPLE_LDADD) $(EXAMPLE_POOL_LDADD)
4448

4549
noinst_PROGRAMS += example-command-with-opts
4650
example_command_with_opts_SOURCES = examples/example-command-with-opts.c

0 commit comments

Comments
 (0)