- if test "$PHP_HTTP_LIBCURL_DIR" = "no"; then
- AC_DEFINE([PHP_HTTP_HAVE_CURL], [0], [ ])
- else
- AC_MSG_CHECKING([for curl/curl.h])
- CURL_DIR=
- for i in "$PHP_HTTP_LIBCURL_DIR" /usr/local /usr /opt; do
- if test -f "$i/include/curl/curl.h"; then
- CURL_DIR=$i
- break
- fi
- done
- if test "x$CURL_DIR" = "x"; then
- AC_MSG_RESULT([not found])
- else
- AC_MSG_RESULT([found in $CURL_DIR])
-
- AC_MSG_CHECKING([for curl-config])
- CURL_CONFIG=
- for i in "$CURL_DIR/bin/curl-config" "$CURL_DIR/curl-config" `which curl-config`; do
- if test -x "$i"; then
- CURL_CONFIG=$i
- break
- fi
- done
- if test "x$CURL_CONFIG" = "x"; then
- AC_MSG_RESULT([not found])
- AC_MSG_ERROR([could not find curl-config])
- else
- AC_MSG_RESULT([found: $CURL_CONFIG])
- fi
-
- dnl RHEL6: 7.19.7
- dnl SUSE11: 7.19.7
- dnl Debian wheezy: 7.26.0
- dnl Debian sqeeze: 7.21.0
- dnl Debian ancient 7.18.2
- AC_MSG_CHECKING([for curl version >= 7.18.2])
- CURL_VERSION=`$CURL_CONFIG --version | $SED -e 's/[[^0-9\.]]//g'`
- AC_MSG_RESULT([$CURL_VERSION])
- if test `echo $CURL_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*10000 + $2*100 + $3}'` -lt 71802; then
- AC_MSG_ERROR([libcurl version greater or equal to 7.18.2 required])
- fi
-
- dnl
- dnl compile tests
- dnl
-
- save_INCLUDES="$INCLUDES"
- INCLUDES=
- save_LIBS="$LIBS"
- LIBS=
- save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS `$CURL_CONFIG --cflags`"
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS `$CURL_CONFIG --libs` $ld_runpath_switch$CURL_DIR/$PHP_LIBDIR"
-
- AC_MSG_CHECKING([for SSL support in libcurl])
- CURL_SSL=`$CURL_CONFIG --feature | $EGREP SSL`
- CURL_SSL_LIBS=()
- if test "$CURL_SSL" = "SSL"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE([PHP_HTTP_HAVE_SSL], [1], [ ])
-
- AC_MSG_CHECKING([for openssl support in libcurl])
- AC_TRY_RUN([
- #include <curl/curl.h>
- 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, "OpenSSL", sizeof("OpenSSL")-1);
- }
- return 1;
- }
- ], [
- AC_MSG_RESULT([yes])
- AC_CHECK_HEADER([openssl/ssl.h], [
- AC_CHECK_HEADER([openssl/crypto.h], [
- AC_DEFINE([PHP_HTTP_HAVE_OPENSSL], [1], [ ])
- CURL_SSL_LIBS=(ssl crypto)
- ])
- ])
- ], [
- AC_MSG_RESULT([no])
- ], [
- AC_MSG_RESULT([no])
- ])
-
- AC_MSG_CHECKING([for gnutls support in libcurl])
- AC_TRY_RUN([
- #include <curl/curl.h>
- 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, "GnuTLS", sizeof("GnuTLS")-1);
- }
- return 1;
- }
- ], [
- AC_MSG_RESULT([yes])
- AC_CHECK_HEADER([gnutls.h], [
- AC_CHECK_HEADER([gcrypt.h], [
- AC_DEFINE([PHP_HTTP_HAVE_GNUTLS], [1], [ ])
- CURL_SSL_LIBS=(gnutls gcrypt)
- ])
- ])
- ], [
- AC_MSG_RESULT([no])
- ], [
- AC_MSG_RESULT([no])
- ])
- else
- AC_MSG_RESULT([no])
- fi
-
- AC_MSG_CHECKING([for ares support in libcurl])
- AC_TRY_RUN([
- #include <curl/curl.h>
- int main(int argc, char *argv[]) {
- curl_version_info_data *data = curl_version_info(CURLVERSION_NOW);
- if (data && data->ares && data->ares_num0) {
- return 0;
- }
- return 1;
- }
+ dnl ICU IDNA
+ PHP_ARG_WITH([http-libicu-dir], [whether/where to check for libicu],
+ [ --with-http-libidn-dir[=DIR] HTTP: where to find libicu], $PHP_HTTP_LIBCURL_DIR, no)
+ if test "$PHP_HTTP_LIBICU_DIR" != "no"; then
+ AC_PATH_PROG(ICU_CONFIG, icu-config, false, [$PHP_HTTP_LIBICU_DIR/bin:$PATH:/usr/local/bin])
+
+ PECL_CHECK_CONFIG(libicu, [$ICU_CONFIG], [--version], [--cppflags], [--ldflags-searchpath], [--ldflags-libsonly])
+ AC_CACHE_CHECK([for uidna_IDNToASCII], PECL_CACHE_VAR([HAVE_UIDNA_IDNToASCII]), [
+ AC_TRY_LINK([
+ #include <unicode/uidna.h>