X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=autoconf%2Fpecl%2Flibcurl.m4;h=73ea2595bba4a636198eadd46ebf981951ccfb9f;hp=f9eee6e836c47f7a1323dbc66966fa6de9a5e7bd;hb=a5df2b0848bd62fde66253f0dd825708b9dc0360;hpb=e096f45ff30a46d6a8e96da7bc6334d2ac5ab7c2 diff --git a/autoconf/pecl/libcurl.m4 b/autoconf/pecl/libcurl.m4 index f9eee6e..73ea259 100644 --- a/autoconf/pecl/libcurl.m4 +++ b/autoconf/pecl/libcurl.m4 @@ -44,52 +44,89 @@ dnl dnl PECL_HAVE_LIBCURL_SSLLIB(ssllib-name, headers, libs) dnl AC_DEFUN([PECL_HAVE_LIBCURL_SSLLIB], [ - AC_CACHE_CHECK([for $1 providing SSL in libcurl], PECL_CACHE_VAR([HAVE_LIBCURL_$1]), [ - AC_TRY_RUN([ - #include - int main(int argc, char *argv[]) { - curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); - if (data && data->ssl_version && *data->ssl_version) { - const char *ptr = data->ssl_version; - while(*ptr == ' ') ++ptr; - return strncasecmp(ptr, "$1", sizeof("$1")-1); + if test -z "$PECL_VAR([LIBCURL_SSLLIB])"; then + AC_CACHE_CHECK([for $1 providing SSL in libcurl], PECL_CACHE_VAR([HAVE_LIBCURL_$1]), [ + AC_TRY_RUN([ + #include + #include + int main(int argc, char *argv[]) { + curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); + if (data && data->ssl_version && *data->ssl_version) { + const char *ptr = data->ssl_version; + while(*ptr == ' ') ++ptr; + return strncasecmp(ptr, "$1", sizeof("$1")-1); + } + return 1; } - return 1; - } - ], [ - PECL_CACHE_VAR([HAVE_LIBCURL_$1])=yes - ], [ - PECL_CACHE_VAR([HAVE_LIBCURL_$1])=no - ]) - ]) - PECL_VAR([HAVE_LIBCURL_$1])=$PECL_CACHE_VAR([HAVE_LIBCURL_$1]) - if $PECL_VAR([HAVE_LIBCURL_$1]); then - PECL_DEFINE([HAVE_LIBCURL_$1]) - m4_foreach_w(header, $2, [AC_CHECK_HEADER(header,, [ - PECL_VAR([HAVE_LIBCURL_$1])=false - ])]) - ifelse([$3],,,[ - if $PECL_VAR([HAVE_LIBCURL_$1]); then - m4_foreach_w(lib, $3, [ - PHP_ADD_LIBRARY(lib, true, [AS_TR_CPP(PECL_NAME[_SHARED_LIBADD])]) - ]) - fi + ], [ + PECL_CACHE_VAR([HAVE_LIBCURL_$1])=yes + ], [ + PECL_CACHE_VAR([HAVE_LIBCURL_$1])=no + ]) ]) + PECL_VAR([HAVE_LIBCURL_$1])=$PECL_CACHE_VAR([HAVE_LIBCURL_$1]) + if $PECL_VAR([HAVE_LIBCURL_$1]); then + PECL_VAR([LIBCURL_SSLLIB])="$1" + PECL_DEFINE([HAVE_LIBCURL_$1]) + m4_foreach_w(header, $2, [AC_CHECK_HEADER(header,, [ + PECL_VAR([HAVE_LIBCURL_$1])=false + ])]) + ifelse([$3],,,[ + if $PECL_VAR([HAVE_LIBCURL_$1]); then + m4_foreach_w(lib, $3, [ + PHP_ADD_LIBRARY(lib, true, [AS_TR_CPP(PECL_NAME[_SHARED_LIBADD])]) + ]) + fi + ]) + fi fi ]) dnl dnl PECL_HAVE_LIBCURL_SSL dnl -AC_DEFUN([PECL_HAVE_LIBCURL_SSL], [ +AC_DEFUN([PECL_HAVE_LIBCURL_SSL], [dnl + AC_REQUIRE([PECL_HAVE_LIBCURL_CA])dnl PECL_HAVE_LIBCURL_FEATURE([SSL], [ PECL_HAVE_LIBCURL_SSLLIB([OpenSSL], [openssl/ssl.h openssl/crypto.h], [ssl crypto]) PECL_HAVE_LIBCURL_SSLLIB([GnuTLS], [gnutls.h gcrypt.h], [gnutls gcrypt]) PECL_HAVE_LIBCURL_SSLLIB([NSS]) PECL_HAVE_LIBCURL_SSLLIB([SecureTransport]) PECL_HAVE_LIBCURL_SSLLIB([GSKit]) + PECL_HAVE_LIBCURL_SSLLIB([PolarSSL]) + PECL_HAVE_LIBCURL_SSLLIB([WolfSSL]) + PECL_HAVE_LIBCURL_SSLLIB([mbedTLS]) + PECL_HAVE_LIBCURL_SSLLIB([axTLS]) + + case "$PECL_VAR([LIBCURL_SSLLIB])" in + OpenSSL|GnuTLS|PolarSSL) + PECL_DEFINE([HAVE_LIBCURL_CAPATH]) + PECL_DEFINE([HAVE_LIBCURL_CAINFO]) + ;; + NSS) + AC_CACHE_CHECK([whether NSS PEM is available], [PECL_CACHE_VAR([HAVE_LIBCURL_NSSPEM])], [ + PECL_SAVE_ENV([LIBS], [NSSPEM]) + LIBS="$LIBS -lnsspem" + AC_TRY_LINK([], [(void)0;], [ + PECL_CACHE_VAR([HAVE_LIBCURL_NSSPEM])=yes + ], [ + PECL_CACHE_VAR([HAVE_LIBCURL_NSSPEM])=no + ]) + PECL_RESTORE_ENV([LIBS], [NSSPEM]) + ]) + if $PECL_CACHE_VAR([HAVE_LIBCURL_NSSPEM]); then + PECL_DEFINE([HAVE_LIBCURL_CAINFO]) + else + PECL_DEFINE([HAVE_LIBCURL_CAINFO], [0]) + fi + PECL_DEFINE([HAVE_LIBCURL_CAPATH], [0]) + ;; + *) + PECL_DEFINE([HAVE_LIBCURL_CAPATH], [0]) + PECL_DEFINE([HAVE_LIBCURL_CAINFO], [0]) + ;; + esac PECL_HAVE_CONST([curl/curl.h], [CURLOPT_TLSAUTH_TYPE], int, [ - PECL_DEFINE([HAVE_LIBCURL_TLSAUTH_TYPE]) AC_CACHE_CHECK([whether CURLOPT_TLSAUTH_TYPE expects CURL_TLSAUTH_SRP], PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]), [ PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])= AC_TRY_RUN([ @@ -113,6 +150,7 @@ AC_DEFUN([PECL_HAVE_LIBCURL_SSL], [ ]) ]) if test -n "$PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP])"; then + PECL_DEFINE([HAVE_LIBCURL_TLSAUTH_TYPE]) if $PECL_CACHE_VAR([LIBCURL_TLSAUTH_SRP]); then PECL_DEFINE([LIBCURL_TLSAUTH_SRP], [CURL_TLSAUTH_SRP]) PECL_DEFINE([LIBCURL_TLSAUTH_DEF], [CURL_TLSAUTH_NONE]) @@ -133,7 +171,7 @@ AC_DEFUN([PECL_HAVE_LIBCURL_ARES], [ #include int main(int argc, char *argv[]) { curl_version_info_data *data = curl_version_info(CURLVERSION_NOW); - if (data && data->ares && data->ares_num0) { + if (data && data->ares && data->ares_num) { return 0; } return 1; @@ -159,7 +197,7 @@ dnl AC_DEFUN([PECL_HAVE_LIBCURL_CA], [ CURL_CONFIG_CA=$($CURL_CONFIG --ca) if test -z "$CURL_CONFIG_CA"; then - CURL_CONFIG_CA=$($CURL_CONFIG --configure | $EGREP -o -- "--with-ca@<:@^'@:>@*" | $SED 's/.*=//') + CURL_CONFIG_CA=$($CURL_CONFIG --configure | $EGREP -o -- "--with-ca@<:@^\'@:>@*" | $SED 's/.*=//') fi PECL_CHECK_CA($CURL_CONFIG_CA, $CURL_CONFIG_CA) PECL_VAR([LIBCURL_CAPATH])=$PECL_VAR([CAPATH]) @@ -181,8 +219,8 @@ AC_DEFUN([PECL_CHECK_LIBCURL], [dnl PECL_CHECK_CONFIG(libcurl, $CURL_CONFIG, [--version | $SED -e 's/@<:@^0-9\.@:>@//g'], [--cflags], - [--libs | $EGREP -o -- '(^|\s)-L@<:@^ @:>@* ?'], - [--libs | $EGREP -o -- '(^|\s)-l@<:@^ @:>@* ?']dnl + [--libs | $EGREP -o -- '(^|\s)-L@<:@^ @:>@* ?' | xargs], + [--libs | $EGREP -o -- '(^|\s)-l@<:@^ @:>@* ?' | xargs]dnl ) ifelse([$2],,,[ PECL_HAVE_VERSION([libcurl], [$2])