build: drop openssl module dependency for BoringSSL from libcurl.pc

BoringSSL does not provide pc files, as of v0.20260211.0 (and its latest
main branch.) It also did not provide them in the past.

Its sibling fork, AWS-LC does provide them since v1.18.0 (2023-12-04):
7e6aef83ec
https://github.com/aws/aws-lc/pull/1310

Introduce internal variable `OPENSSL_IS_AWSLC` to make this possible.

Bug: https://github.com/curl/curl/pull/20926#issuecomment-4063674714
Ref: https://github.com/ngtcp2/ngtcp2/pull/1689#issuecomment-4063725461

Closes #20938
This commit is contained in:
Viktor Szakats 2026-03-16 13:36:17 +01:00
parent 3e8df37885
commit e05cfd6454
No known key found for this signature in database
3 changed files with 10 additions and 7 deletions

View File

@ -2167,7 +2167,7 @@ if(NOT CURL_DISABLE_INSTALL)
if(NOT _libs AND NOT _libdirs)
message(WARNING "Bad lib in library list: ${_lib}")
endif()
if(_lib STREQUAL OpenSSL::SSL)
if(_lib STREQUAL OpenSSL::SSL AND NOT HAVE_BORINGSSL) # BoringSSL does not provide openssl.pc
set(_modules "openssl")
elseif(_lib STREQUAL ZLIB::ZLIB)
set(_modules "zlib")

View File

@ -3315,7 +3315,7 @@ if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$HAVE_LIBR
fi
if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$HAVE_LIBRESSL" != "1" &&
test "$OPENSSL_IS_BORINGSSL" != "1" && test "$OPENSSL_QUIC_API2" != "1"; then
test "$OPENSSL_IS_AWSLC" != "1" && test "$OPENSSL_IS_BORINGSSL" != "1" && test "$OPENSSL_QUIC_API2" != "1"; then
dnl backup the pre-ngtcp2_crypto_quictls variables
CLEANLDFLAGS="$LDFLAGS"
@ -3373,8 +3373,8 @@ if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$HAVE_LIBR
fi
fi
if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$OPENSSL_IS_BORINGSSL" != "1" &&
test "$OPENSSL_QUIC_API2" = "1"; then
if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" &&
test "$OPENSSL_IS_AWSLC" != "1" && test "$OPENSSL_IS_BORINGSSL" != "1" && test "$OPENSSL_QUIC_API2" = "1"; then
dnl backup the pre-ngtcp2_crypto_ossl variables
CLEANLDFLAGS="$LDFLAGS"
@ -3433,7 +3433,8 @@ if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$OPENSSL_I
fi
fi
if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" && test "$OPENSSL_IS_BORINGSSL" = "1"; then
if test "$USE_NGTCP2" = "1" && test "$OPENSSL_ENABLED" = "1" &&
(test "$OPENSSL_IS_AWSLC" = "1" || test "$OPENSSL_IS_BORINGSSL" = "1"); then
dnl backup the pre-ngtcp2_crypto_boringssl variables
CLEANLDFLAGS="$LDFLAGS"

View File

@ -260,7 +260,7 @@ if test "x$OPT_OPENSSL" != "xno"; then
],[
AC_MSG_RESULT([yes])
ssl_msg="AWS-LC"
OPENSSL_IS_BORINGSSL=1
OPENSSL_IS_AWSLC=1
],[
AC_MSG_RESULT([no])
])
@ -325,7 +325,9 @@ if test "x$OPT_OPENSSL" != "xno"; then
fi
fi
check_for_ca_bundle=1
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE openssl"
if test "$OPENSSL_IS_BORINGSSL" != "1"; then dnl BoringSSL does not provide openssl.pc
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE openssl"
fi
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"