m4: drop redundant conditions in TLS library detections

Omit checking `OPT_<BACKEND>` against `no` twice.

Also:
- openssl: drop stray `OPT_OPENSSL=off` check.
  Follow-up to 68d89f242c #6897
- rustls: drop no-op line.
  Follow-up to 9c42098370 #13202
- gnutls: fix casing in comment.
- merge `if` branches where possible after these changes.

Closes #21781
This commit is contained in:
Viktor Szakats 2026-05-27 18:39:10 +02:00
parent 15356f0d36
commit a5fcaa8553
No known key found for this signature in database
7 changed files with 280 additions and 305 deletions

View file

@ -63,5 +63,4 @@ if test "$HAVE_PROTO_BSDSOCKET_H" = "1"; then
else
AC_MSG_RESULT(no)
fi
])

View file

@ -30,114 +30,110 @@ AC_DEFUN([CURL_WITH_GNUTLS], [
if test "x$OPT_GNUTLS" != "xno"; then
ssl_msg=
if test "x$OPT_GNUTLS" != "xno"; then
addld=""
addlib=""
gtlslib=""
version=""
addcflags=""
addld=""
addlib=""
gtlslib=""
version=""
addcflags=""
if test "x$OPT_GNUTLS" = "xyes"; then
dnl this is with no particular path given
CURL_CHECK_PKGCONFIG(gnutls)
if test "x$OPT_GNUTLS" = "xyes"; then
dnl this is with no particular path given
CURL_CHECK_PKGCONFIG(gnutls)
if test "$PKGCONFIG" != "no"; then
addlib=`$PKGCONFIG --libs-only-l gnutls`
addld=`$PKGCONFIG --libs-only-L gnutls`
addcflags=`$PKGCONFIG --cflags-only-I gnutls`
version=`$PKGCONFIG --modversion gnutls`
gtlslib=`echo $addld | $SED -e 's/^-L//'`
else
dnl without pkg-config, we try libgnutls-config as that was how it
dnl used to be done
check=`libgnutls-config --version 2>/dev/null`
if test -n "$check"; then
addlib=`libgnutls-config --libs`
addcflags=`libgnutls-config --cflags`
version=`libgnutls-config --version`
gtlslib=`libgnutls-config --prefix`/lib$libsuff
fi
fi
if test "$PKGCONFIG" != "no"; then
addlib=`$PKGCONFIG --libs-only-l gnutls`
addld=`$PKGCONFIG --libs-only-L gnutls`
addcflags=`$PKGCONFIG --cflags-only-I gnutls`
version=`$PKGCONFIG --modversion gnutls`
gtlslib=`echo $addld | $SED -e 's/^-L//'`
else
dnl this is with a given path, first check if there is a libgnutls-config
dnl there and if not, make an educated guess
cfg=$OPT_GNUTLS/bin/libgnutls-config
check=`$cfg --version 2>/dev/null`
dnl without pkg-config, we try libgnutls-config as that was how it
dnl used to be done
check=`libgnutls-config --version 2>/dev/null`
if test -n "$check"; then
addlib=`$cfg --libs`
addcflags=`$cfg --cflags`
version=`$cfg --version`
gtlslib=`$cfg --prefix`/lib$libsuff
else
dnl without pkg-config and libgnutls-config, we guess a lot!
addlib=-lgnutls
addld=-L$OPT_GNUTLS/lib$libsuff
addcflags=-I$OPT_GNUTLS/include
dnl we just do not know
version=""
gtlslib=$OPT_GNUTLS/lib$libsuff
addlib=`libgnutls-config --libs`
addcflags=`libgnutls-config --cflags`
version=`libgnutls-config --version`
gtlslib=`libgnutls-config --prefix`/lib$libsuff
fi
fi
else
dnl this is with a given path, first check if there is a libgnutls-config
dnl there and if not, make an educated guess
cfg=$OPT_GNUTLS/bin/libgnutls-config
check=`$cfg --version 2>/dev/null`
if test -n "$check"; then
addlib=`$cfg --libs`
addcflags=`$cfg --cflags`
version=`$cfg --version`
gtlslib=`$cfg --prefix`/lib$libsuff
else
dnl without pkg-config and libgnutls-config, we guess a lot!
addlib=-lgnutls
addld=-L$OPT_GNUTLS/lib$libsuff
addcflags=-I$OPT_GNUTLS/include
dnl we just do not know
version=""
gtlslib=$OPT_GNUTLS/lib$libsuff
fi
fi
if test -z "$version"; then
dnl lots of efforts, still no go
version="unknown"
if test -z "$version"; then
dnl lots of efforts, still no go
version="unknown"
fi
if test -n "$addlib"; then
CLEANLIBS="$LIBS"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
LIBS="$addlib $LIBS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
if test -n "$addlib"; then
dnl this function is selected since it was introduced in 3.1.10
AC_CHECK_LIB(gnutls, gnutls_x509_crt_get_dn2,
[
AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
GNUTLS_ENABLED=1
USE_GNUTLS="yes"
ssl_msg="GnuTLS"
QUIC_ENABLED=yes
test "gnutls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
LIBS="$CLEANLIBS"
CPPFLAGS="$CLEANCPPFLAGS"
LDFLAGS="$CLEANLDFLAGS"
LDFLAGSPC="$CLEANLDFLAGSPC"
])
CLEANLIBS="$LIBS"
CLEANCPPFLAGS="$CPPFLAGS"
CLEANLDFLAGS="$LDFLAGS"
CLEANLDFLAGSPC="$LDFLAGSPC"
LIBS="$addlib $LIBS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
dnl this function is selected since it was introduced in 3.1.10
AC_CHECK_LIB(gnutls, gnutls_x509_crt_get_dn2,
[
AC_DEFINE(USE_GNUTLS, 1, [if GnuTLS is enabled])
GNUTLS_ENABLED=1
USE_GNUTLS="yes"
ssl_msg="GnuTLS"
QUIC_ENABLED=yes
test "gnutls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
LIBS="$CLEANLIBS"
CPPFLAGS="$CLEANCPPFLAGS"
LDFLAGS="$CLEANLDFLAGS"
LDFLAGSPC="$CLEANLDFLAGSPC"
])
if test "$USE_GNUTLS" = "yes"; then
AC_MSG_NOTICE([detected GnuTLS version $version])
check_for_ca_bundle=1
if test -n "$gtlslib"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$gtlslib"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $gtlslib to CURL_LIBRARY_PATH])
fi
if test "$USE_GNUTLS" = "yes"; then
AC_MSG_NOTICE([detected GnuTLS version $version])
check_for_ca_bundle=1
if test -n "$gtlslib"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$gtlslib"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $gtlslib to CURL_LIBRARY_PATH])
fi
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE gnutls"
fi
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE gnutls"
fi
fi dnl GNUTLS not disabled
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
fi dnl GnuTLS not disabled
dnl
dnl Check which crypto backend GnuTLS uses

View file

@ -33,90 +33,85 @@ if test "x$OPT_MBEDTLS" != "xno"; then
_ldflagspc=$LDFLAGSPC
ssl_msg=
if test "x$OPT_MBEDTLS" != "xno"; then
if test "x$OPT_MBEDTLS" = "xyes"; then
OPT_MBEDTLS=""
fi
if test "x$OPT_MBEDTLS" = "xyes"; then
OPT_MBEDTLS=""
if test -z "$OPT_MBEDTLS"; then
dnl check for lib first without setting any new path
AC_CHECK_LIB(mbedtls, mbedtls_ssl_init,
dnl libmbedtls found, set the variable
[
AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
ssl_msg="mbedTLS"
test "mbedtls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
], [], -lmbedx509 -lmbedcrypto)
fi
addld=""
addlib=""
addcflags=""
mbedtlslib=""
if test "$USE_MBEDTLS" != "yes" && test -n "$OPT_MBEDTLS"; then
dnl add the path and test again
addld=-L$OPT_MBEDTLS/lib$libsuff
addcflags=-I$OPT_MBEDTLS/include
mbedtlslib=$OPT_MBEDTLS/lib$libsuff
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
if test -z "$OPT_MBEDTLS"; then
dnl check for lib first without setting any new path
AC_CHECK_LIB(mbedtls, mbedtls_ssl_init,
dnl libmbedtls found, set the variable
AC_CHECK_LIB(mbedtls, mbedtls_ssl_init,
[
AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
ssl_msg="mbedTLS"
test "mbedtls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
], [], -lmbedx509 -lmbedcrypto)
fi
AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
ssl_msg="mbedTLS"
test "mbedtls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
], -lmbedx509 -lmbedcrypto)
fi
addld=""
addlib=""
addcflags=""
mbedtlslib=""
if test "$USE_MBEDTLS" = "yes"; then
AC_MSG_NOTICE([detected mbedTLS])
check_for_ca_bundle=1
if test "$USE_MBEDTLS" != "yes" && test -n "$OPT_MBEDTLS"; then
dnl add the path and test again
addld=-L$OPT_MBEDTLS/lib$libsuff
addcflags=-I$OPT_MBEDTLS/include
mbedtlslib=$OPT_MBEDTLS/lib$libsuff
LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
fi
AC_CHECK_LIB(mbedtls, mbedtls_ssl_init,
[
AC_DEFINE(USE_MBEDTLS, 1, [if mbedTLS is enabled])
MBEDTLS_ENABLED=1
USE_MBEDTLS="yes"
ssl_msg="mbedTLS"
test "mbedtls" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
], -lmbedx509 -lmbedcrypto)
fi
if test "$USE_MBEDTLS" = "yes"; then
AC_MSG_NOTICE([detected mbedTLS])
check_for_ca_bundle=1
LIBS="-lmbedtls -lmbedx509 -lmbedcrypto $LIBS"
if test -n "$mbedtlslib"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$mbedtlslib"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $mbedtlslib to CURL_LIBRARY_PATH])
fi
fi
dnl FIXME: Enable when mbedTLS was detected via pkg-config
if false; then
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE mbedtls mbedx509 mbedcrypto"
fi
dnl Check DES support in mbedTLS <4.
AC_CHECK_FUNCS(mbedtls_des_crypt_ecb)
if test "$ac_cv_func_mbedtls_des_crypt_ecb" = 'yes'; then
HAVE_MBEDTLS_DES_CRYPT_ECB=1
if test -n "$mbedtlslib"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$mbedtlslib"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $mbedtlslib to CURL_LIBRARY_PATH])
fi
fi
dnl FIXME: Enable when mbedTLS was detected via pkg-config
if false; then
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE mbedtls mbedx509 mbedcrypto"
fi
fi dnl mbedTLS not disabled
dnl Check DES support in mbedTLS <4.
AC_CHECK_FUNCS(mbedtls_des_crypt_ecb)
if test "$ac_cv_func_mbedtls_des_crypt_ecb" = 'yes'; then
HAVE_MBEDTLS_DES_CRYPT_ECB=1
fi
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
fi dnl mbedTLS not disabled
])

View file

@ -220,10 +220,6 @@ if test "x$OPT_OPENSSL" != "xno"; then
if test "$OPENSSL_ENABLED" != "1"; then
LIBS="$CLEANLIBS"
fi
if test "x$OPT_OPENSSL" != "xoff" &&
test "$OPENSSL_ENABLED" != "1"; then
AC_MSG_ERROR([OpenSSL libs and/or directories were not found where specified!])
fi
fi
@ -330,15 +326,14 @@ if test "x$OPT_OPENSSL" != "xno"; then
fi
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
if test "$OPENSSL_ENABLED" != "1"; then
AC_MSG_NOTICE([OPT_OPENSSL: $OPT_OPENSSL])
AC_MSG_NOTICE([OPENSSL_ENABLED: $OPENSSL_ENABLED])
AC_MSG_ERROR([--with-openssl was given but OpenSSL could not be detected])
fi
if test "x$OPT_OPENSSL" != "xno" &&
test "$OPENSSL_ENABLED" != "1"; then
AC_MSG_NOTICE([OPT_OPENSSL: $OPT_OPENSSL])
AC_MSG_NOTICE([OPENSSL_ENABLED: $OPENSSL_ENABLED])
AC_MSG_ERROR([--with-openssl was given but OpenSSL could not be detected])
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi dnl OpenSSL not disabled
if test "$OPENSSL_ENABLED" = "1"; then
dnl ---
@ -395,6 +390,5 @@ AS_HELP_STRING([--disable-openssl-auto-load-config],[Disable automatic loading o
AC_DEFINE(CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG, 1, [if the OpenSSL configuration is not loaded automatically])
fi
])
fi
])

View file

@ -185,13 +185,10 @@ if test "x$OPT_RUSTLS" != "xno"; then
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
if test "x$OPT_RUSTLS" != "xno" &&
test "$RUSTLS_ENABLED" != "1"; then
if test "$RUSTLS_ENABLED" != "1"; then
AC_MSG_NOTICE([OPT_RUSTLS: $OPT_RUSTLS])
AC_MSG_NOTICE([RUSTLS_ENABLED: $RUSTLS_ENABLED])
AC_MSG_ERROR([--with-rustls was given but Rustls could not be detected])
fi
fi
])
RUSTLS_ENABLED

View file

@ -26,8 +26,7 @@ AC_DEFUN([CURL_WITH_SCHANNEL], [
AC_MSG_CHECKING([whether to enable Windows native SSL/TLS])
if test "x$OPT_SCHANNEL" != "xno"; then
ssl_msg=
if test "x$OPT_SCHANNEL" != "xno" &&
test "$curl_cv_native_windows" = "yes"; then
if test "$curl_cv_native_windows" = "yes"; then
if test "$curl_cv_winuwp" = "yes"; then
AC_MSG_ERROR([UWP does not support Schannel.])
fi

View file

@ -43,134 +43,129 @@ if test "$OPT_WOLFSSL" != "no"; then
ssl_msg=
if test "$OPT_WOLFSSL" != "no"; then
if test "$OPT_WOLFSSL" = "yes"; then
OPT_WOLFSSL=""
fi
if test "$OPT_WOLFSSL" = "yes"; then
OPT_WOLFSSL=""
dnl try pkg-config magic
CURL_CHECK_PKGCONFIG(wolfssl, [$wolfpkg])
AC_MSG_NOTICE([Check directory $wolfpkg])
addld=""
addlib=""
addcflags=""
if test "$PKGCONFIG" != "no"; then
addlib=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --libs-only-l wolfssl`
addld=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --libs-only-L wolfssl`
addcflags=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --cflags-only-I wolfssl`
version=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --modversion wolfssl`
wolfssllibpath=`echo $addld | $SED -e 's/^-L//'`
else
addlib=-lwolfssl
dnl use system defaults if user does not supply a path
if test -n "$OPT_WOLFSSL"; then
addld=-L$OPT_WOLFSSL/lib$libsuff
addcflags=-I$OPT_WOLFSSL/include
wolfssllibpath=$OPT_WOLFSSL/lib$libsuff
fi
fi
if test "$curl_cv_apple" = "yes"; then
addlib="$addlib -framework Security -framework CoreFoundation"
else
addlib="$addlib -lm"
fi
if test "$USE_WOLFSSL" != "yes"; then
CPPFLAGS="$CPPFLAGS -DWOLFSSL_OPTIONS_IGNORE_SYS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
AC_MSG_NOTICE([Add $addld to LDFLAGS])
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
AC_MSG_NOTICE([Add $addcflags to CPPFLAGS])
fi
dnl try pkg-config magic
CURL_CHECK_PKGCONFIG(wolfssl, [$wolfpkg])
AC_MSG_NOTICE([Check directory $wolfpkg])
my_ac_save_LIBS="$LIBS"
LIBS="$addlib $LIBS"
AC_MSG_NOTICE([Add $addlib to LIBS])
addld=""
addlib=""
addcflags=""
if test "$PKGCONFIG" != "no"; then
addlib=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --libs-only-l wolfssl`
addld=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --libs-only-L wolfssl`
addcflags=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --cflags-only-I wolfssl`
version=`CURL_EXPORT_PCDIR([$wolfpkg])
$PKGCONFIG --modversion wolfssl`
wolfssllibpath=`echo $addld | $SED -e 's/^-L//'`
else
addlib=-lwolfssl
dnl use system defaults if user does not supply a path
if test -n "$OPT_WOLFSSL"; then
addld=-L$OPT_WOLFSSL/lib$libsuff
addcflags=-I$OPT_WOLFSSL/include
wolfssllibpath=$OPT_WOLFSSL/lib$libsuff
fi
AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl])
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#include <wolfssl/options.h>
#include <wolfssl/ssl.h>
]],[[
return wolfSSL_Init();
]])
],[
AC_MSG_RESULT(yes)
AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled])
WOLFSSL_ENABLED=1
USE_WOLFSSL="yes"
ssl_msg="wolfSSL"
test "wolfssl" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
AC_MSG_RESULT(no)
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
wolfssllibpath=""
])
LIBS="$my_ac_save_LIBS"
fi
if test "$USE_WOLFSSL" = "yes"; then
AC_MSG_NOTICE([detected wolfSSL])
check_for_ca_bundle=1
LIBS="$addlib $LIBS"
dnl is this wolfSSL providing the original QUIC API?
AC_CHECK_FUNCS([wolfSSL_set_quic_use_legacy_codepoint], [QUIC_ENABLED=yes])
dnl wolfSSL needs configure --enable-opensslextra to have *get_peer*
dnl wc_Des_EcbEncrypt is needed for NTLM support.
dnl if wolfSSL_BIO_set_shutdown is present, we have the full BIO feature set
AC_CHECK_FUNCS(wolfSSL_get_peer_certificate \
wolfSSL_UseALPN \
wolfSSL_BIO_new \
wolfSSL_BIO_set_shutdown \
wc_Des_EcbEncrypt)
dnl if this symbol is present, we want the include path to include the
dnl OpenSSL API root as well
if test "$ac_cv_func_wc_Des_EcbEncrypt" = "yes"; then
HAVE_WC_DES_ECBENCRYPT=1
fi
if test "$curl_cv_apple" = "yes"; then
addlib="$addlib -framework Security -framework CoreFoundation"
else
addlib="$addlib -lm"
dnl if this symbol is present, we can make use of BIO filter chains
if test "$ac_cv_func_wolfSSL_BIO_new" = "yes"; then
HAVE_WOLFSSL_BIO_NEW=1
fi
if test "$USE_WOLFSSL" != "yes"; then
CPPFLAGS="$CPPFLAGS -DWOLFSSL_OPTIONS_IGNORE_SYS"
LDFLAGS="$LDFLAGS $addld"
LDFLAGSPC="$LDFLAGSPC $addld"
AC_MSG_NOTICE([Add $addld to LDFLAGS])
if test "$addcflags" != "-I/usr/include"; then
CPPFLAGS="$CPPFLAGS $addcflags"
AC_MSG_NOTICE([Add $addcflags to CPPFLAGS])
if test -n "$wolfssllibpath"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $wolfssllibpath to CURL_LIBRARY_PATH])
fi
my_ac_save_LIBS="$LIBS"
LIBS="$addlib $LIBS"
AC_MSG_NOTICE([Add $addlib to LIBS])
AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl])
AC_LINK_IFELSE([
AC_LANG_PROGRAM([[
#include <wolfssl/options.h>
#include <wolfssl/ssl.h>
]],[[
return wolfSSL_Init();
]])
],[
AC_MSG_RESULT(yes)
AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled])
WOLFSSL_ENABLED=1
USE_WOLFSSL="yes"
ssl_msg="wolfSSL"
test "wolfssl" != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
],
[
AC_MSG_RESULT(no)
CPPFLAGS=$_cppflags
LDFLAGS=$_ldflags
LDFLAGSPC=$_ldflagspc
wolfssllibpath=""
])
LIBS="$my_ac_save_LIBS"
fi
if test "$USE_WOLFSSL" = "yes"; then
AC_MSG_NOTICE([detected wolfSSL])
check_for_ca_bundle=1
LIBS="$addlib $LIBS"
dnl is this wolfSSL providing the original QUIC API?
AC_CHECK_FUNCS([wolfSSL_set_quic_use_legacy_codepoint], [QUIC_ENABLED=yes])
dnl wolfSSL needs configure --enable-opensslextra to have *get_peer*
dnl wc_Des_EcbEncrypt is needed for NTLM support.
dnl if wolfSSL_BIO_set_shutdown is present, we have the full BIO feature set
AC_CHECK_FUNCS(wolfSSL_get_peer_certificate \
wolfSSL_UseALPN \
wolfSSL_BIO_new \
wolfSSL_BIO_set_shutdown \
wc_Des_EcbEncrypt)
dnl if this symbol is present, we want the include path to include the
dnl OpenSSL API root as well
if test "$ac_cv_func_wc_Des_EcbEncrypt" = "yes"; then
HAVE_WC_DES_ECBENCRYPT=1
fi
dnl if this symbol is present, we can make use of BIO filter chains
if test "$ac_cv_func_wolfSSL_BIO_new" = "yes"; then
HAVE_WOLFSSL_BIO_NEW=1
fi
if test -n "$wolfssllibpath"; then
dnl when shared libs were found in a path that the runtime
dnl linker does not search through, we need to add it to
dnl CURL_LIBRARY_PATH to prevent further configure tests to fail
dnl due to this
if test "$cross_compiling" != "yes"; then
CURL_LIBRARY_PATH="$CURL_LIBRARY_PATH:$wolfssllibpath"
export CURL_LIBRARY_PATH
AC_MSG_NOTICE([Added $wolfssllibpath to CURL_LIBRARY_PATH])
fi
fi
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE wolfssl"
else
AC_MSG_ERROR([--with-wolfssl but wolfSSL was not found or does not work])
fi
fi dnl wolfSSL not disabled
LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE wolfssl"
else
AC_MSG_ERROR([--with-wolfssl but wolfSSL was not found or does not work])
fi
test -z "$ssl_msg" || ssl_backends="${ssl_backends:+$ssl_backends, }$ssl_msg"
fi
fi dnl wolfSSL not disabled
])