From f14d9e6efc9dc82725d0547f2dd77fc29192ecbd Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sat, 28 Mar 2026 23:23:31 +0100 Subject: [PATCH] cmake: enable pthreads for BoringSSL/AWS-LC Depends on 6828df7d2116fe680a0d012b06a4501e26efa99b #21176 Closes #21168 --- CMake/curl-config.in.cmake | 2 +- CMakeLists.txt | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CMake/curl-config.in.cmake b/CMake/curl-config.in.cmake index c6e4341f7b..317477197f 100644 --- a/CMake/curl-config.in.cmake +++ b/CMake/curl-config.in.cmake @@ -35,7 +35,7 @@ endif() include(CMakeFindDependencyMacro) -if("@HAVE_THREADS_POSIX@") +if("@HAVE_THREADS_POSIX@" OR "@HAVE_THREADS_POSIX_BORINGSSL@") find_dependency(Threads) # for Threads::Threads endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index 60014108ce..76af84e795 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -847,6 +847,16 @@ if(CURL_USE_OPENSSL) cmake_pop_check_state() if(HAVE_BORINGSSL OR HAVE_AWSLC) + if(NOT MSVC AND NOT ANDROID) # BoringSSL/AWS-LC MSVC builds use native Windows threads + find_package(Threads) + if(CMAKE_USE_PTHREADS_INIT) + set(HAVE_THREADS_POSIX_BORINGSSL 1) + list(APPEND CURL_NETWORK_AND_TIME_LIBS Threads::Threads) + list(APPEND CMAKE_REQUIRED_LIBRARIES Threads::Threads) + elseif(OPENSSL_USE_STATIC_LIBS) + message(WARNING "BoringSSL/AWS-LC requires POSIX Threads.") + endif() + endif() if(OPENSSL_USE_STATIC_LIBS AND CMAKE_C_COMPILER_ID MATCHES "Clang") list(APPEND CURL_LIBS "stdc++") list(APPEND CMAKE_REQUIRED_LIBRARIES "stdc++") @@ -2345,6 +2355,7 @@ if(NOT CURL_DISABLE_INSTALL) # HAVE_LIBIDN2 # HAVE_LIBZ ZLIB_VERSION_MAJOR # HAVE_THREADS_POSIX + # HAVE_THREADS_POSIX_BORINGSSL # HAVE_ZSTD # USE_ARES # USE_BACKTRACE