Refactor check for libcurl linkage with OpenSSL < 1.1 (#14319)

- One excessive AC_MSG_RESULT removed
- AC_RUN_IFELSE wrapped in AC_CACHE_CHECK for easier cross-compiling
  edge cases
- Check wrapped in the thread safety condition since this is relevant
  only when ZTS is enabled
This commit is contained in:
Peter Kokot 2024-06-08 17:59:59 +02:00 committed by GitHub
parent d1f14a4609
commit 9dbcb91152
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -11,29 +11,27 @@ if test "$PHP_CURL" != "no"; then
PHP_EVAL_INCLINE($CURL_CFLAGS) PHP_EVAL_INCLINE($CURL_CFLAGS)
AC_MSG_CHECKING([for SSL support in libcurl]) AC_MSG_CHECKING([for SSL support in libcurl])
case "$CURL_FEATURES" in AS_CASE([$CURL_FEATURES],
*SSL*) [*SSL*], [
CURL_SSL=yes CURL_SSL=yes
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
;; ],
*) [*], [
CURL_SSL=no CURL_SSL=no
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
;; ])
esac
if test "$CURL_SSL" = yes; then AS_IF([test "$PHP_THREAD_SAFETY" = yes && test "$CURL_SSL" = yes], [
save_LDFLAGS="$LDFLAGS" save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $CURL_LIBS" LDFLAGS="$LDFLAGS $CURL_LIBS"
AC_MSG_CHECKING([for libcurl linked against old openssl]) AC_CACHE_CHECK([for libcurl linked against old OpenSSL < 1.1],
AC_RUN_IFELSE([AC_LANG_SOURCE([[ [php_cv_lib_curl_ssl],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include <stdio.h> #include <stdio.h>
#include <strings.h> #include <strings.h>
#include <curl/curl.h> #include <curl/curl.h>
], [
int main(int argc, char *argv[])
{
curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
if (data && data->ssl_version && *data->ssl_version) { if (data && data->ssl_version && *data->ssl_version) {
@ -62,21 +60,19 @@ int main(int argc, char *argv[])
} }
/* No SSL support */ /* No SSL support */
return 1; return 1;
} ])],
]])],[ [php_cv_lib_curl_ssl=yes],
AC_MSG_RESULT([yes]) [php_cv_lib_curl_ssl=no],
[php_cv_lib_curl_ssl=no])])
AS_VAR_IF([php_cv_lib_curl_ssl], [yes], [
AC_DEFINE([HAVE_CURL_OLD_OPENSSL], [1], [Have cURL with old OpenSSL]) AC_DEFINE([HAVE_CURL_OLD_OPENSSL], [1], [Have cURL with old OpenSSL])
PHP_SETUP_OPENSSL(CURL_SHARED_LIBADD,[AC_CHECK_HEADERS([openssl/crypto.h])],[]) PHP_SETUP_OPENSSL([CURL_SHARED_LIBADD],
], [ [AC_CHECK_HEADERS([openssl/crypto.h])])
AC_MSG_RESULT([no])
], [
AC_MSG_RESULT([no])
]) ])
LDFLAGS="$save_LDFLAGS" LDFLAGS="$save_LDFLAGS"
else ])
AC_MSG_RESULT([no])
fi
PHP_CHECK_LIBRARY(curl,curl_easy_perform, PHP_CHECK_LIBRARY(curl,curl_easy_perform,
[ [