]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: enable pthreads for BoringSSL/AWS-LC
authorViktor Szakats <commit@vsz.me>
Sat, 28 Mar 2026 22:23:31 +0000 (23:23 +0100)
committerViktor Szakats <commit@vsz.me>
Tue, 31 Mar 2026 15:17:47 +0000 (17:17 +0200)
Depends on 6828df7d2116fe680a0d012b06a4501e26efa99b #21176

Closes #21168

CMake/curl-config.in.cmake
CMakeLists.txt

index c6e4341f7b94a195689dfde361692a1deb8ff430..317477197f51f47c51c1e70193807a6153dd09ee 100644 (file)
@@ -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()
 
index 60014108cef08f74ddee8053a42cc1d82d861517..76af84e795d19210b8d2352b9bf3a9dd7e95499e 100644 (file)
@@ -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