m4_foreach(dir, [., ext/http], [
sinclude(dir/autoconf/pecl/pecl.m4)
sinclude(dir/autoconf/pecl/zlib.m4)
+ sinclude(dir/autoconf/pecl/libbrotli.m4)
sinclude(dir/autoconf/pecl/libcurl.m4)
sinclude(dir/autoconf/pecl/libevent.m4)
])
AC_CHECK_LIB(nsl, getdomainname)
])
AC_CHECK_FUNCS(mbrtowc mbtowc iswalnum inet_pton)
+
+ CFLAGS="$CFLAGS -Wno-strict-prototypes"
dnl ZLIB
PHP_ARG_WITH([http-zlib-dir], [whether/where to check for zlib],
- [ --with-http-zlib-dir[=DIR] HTTP: where to find zlib], $PHP_HTTP, no)
+ [ --with-http-zlib-dir[=DIR] HTTP: where to find zlib], $PHP_HTTP)
PECL_CHECK_ZLIB([$PHP_HTTP_ZLIB_DIR], [1.2.0.4])
PECL_CHECK_DONE(zlib, $PECL_VAR([HAVE_ZLIB]))
+ dnl BROTLI
+ PHP_ARG_WITH([http-libbrotli-dir], [whether/where to check for libbrotli],
+ [ --with-http-libbrotli-dir[=DIR] HTTP: where to find libbrotli], $PHP_HTTP)
+ PECL_CHECK_LIBBROTLI([$PHP_HTTP_LIBBROTLI_DIR], [1.0])
+ PECL_CHECK_DONE(libbrotli, $PECL_VAR([HAVE_LIBBROTLI]))
+
dnl CURL
PHP_ARG_WITH([http-libcurl-dir], [whether/where to check for libcurl],
- [ --with-http-libcurl-dir[=DIR] HTTP: where to find libcurl], $PHP_HTTP, no)
+ [ --with-http-libcurl-dir[=DIR] HTTP: where to find libcurl], $PHP_HTTP)
if test "$PHP_HTTP_LIBCURL_DIR" != "no"; then
PECL_CHECK_LIBCURL([$PHP_HTTP_LIBCURL_DIR], [7.18.2])
PECL_HAVE_LIBCURL_PROTOCOL([HTTP], [
PECL_HAVE_LIBCURL_FEATURE([HTTP2])
+ PECL_HAVE_LIBCURL_FEATURE([ALT-SVC])
+ PECL_HAVE_LIBCURL_FEATURE([HSTS])
PECL_HAVE_LIBCURL_ARES
PECL_HAVE_LIBCURL_SSL
PECL_HAVE_LIBCURL_CA
[ --with-http-libidn2-dir[=DIR] HTTP: where to find libidn2], $PHP_HTTP_LIBCURL_DIR, no)
if test "$PHP_HTTP_LIBIDN2_DIR" != "no"; then
PECL_CHECK_CUSTOM(libidn2, "$PHP_HTTP_LIBIDN2_DIR", idn2.h, idn2,
- [$($EGREP "define IDN2_VERSION " "$path/include/idn2.h" | $SED -e's/^.*VERSION //g' -e 's/@<:@^0-9\.@:>@//g')])
+ [$($EGREP "define IDN2_VERSION " "include/idn2.h" | $SED -e's/^.*VERSION //g' -e 's/@<:@^0-9\.@:>@//g')])
if $PECL_VAR([HAVE_LIBIDN2]); then
PECL_DEFINE([HAVE_IDNA2008])
fi
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)
+ [ --with-http-libicu-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])
+ if $ICU_CONFIG --exists >/dev/null 2>/dev/null; then
+ PECL_CHECK_CONFIG(libicu, [$ICU_CONFIG], [--version], [--cppflags], [--ldflags-searchpath], [--ldflags-libsonly])
+ else
+ PECL_CHECK_PKGCONFIG(icu-i18n, [$PHP_HTTP_LIBICU_DIR])
+ fi
AC_CACHE_CHECK([for uidna_IDNToASCII], PECL_CACHE_VAR([HAVE_UIDNA_IDNToASCII]), [
+ if printf "%s" "$CFLAGS" | $EGREP -q "(^|\s)-Werror\b"; then
+ if ! printf "%s" "$CFLAGS" | $EGREP -q "(^|\s)-Wno-error=deprecated-declarations\b"; then
+ CFLAGS="$CFLAGS -Wno-error=deprecated-declarations"
+ fi
+ fi
AC_TRY_LINK([
#include <unicode/uidna.h>
], [
[ --with-http-libidnkit2-dir[=DIR] HTTP: where to find libidnkit2], $PHP_HTTP_LIBCURL_DIR, no)
if test "$PHP_HTTP_LIBIDNKIT2_DIR" != "no"; then
PECL_CHECK_CUSTOM(libidnkit2, "$PHP_HTTP_LIBIDNKIT2_DIR", idn/api.h, idnkit,
- [$($EGREP "define IDNKIT_VERSION_LIBIDN\b" "$path/include/idn/version.h" | $SED -e's/^.*VERSION_LIBIDN//g' -e 's/@<:@^0-9\.@:>@//g')])
+ [$($EGREP "define IDNKIT_VERSION_LIBIDN\b" "include/idn/version.h" | $SED -e's/^.*VERSION_LIBIDN//g' -e 's/@<:@^0-9\.@:>@//g')])
if $PECL_VAR([HAVE_LIBIDNKIT2]); then
PECL_DEFINE([HAVE_IDNA2008])
fi
AC_MSG_WARN([libidnkit-$PECL_VAR([LIBIDNKIT2_VERSION]) already enabled, skipping libidnkit1])
else
PECL_CHECK_CUSTOM(libidnkit, "$PHP_HTTP_LIBIDNKIT_DIR", idn/api.h, idnkit,
- [$($EGREP "define IDNKIT_VERSION\b" "$path/include/idn/version.h" | $SED -e's/^.*VERSION//g' -e 's/@<:@^0-9\.@:>@//g')])
+ [$($EGREP "define IDNKIT_VERSION\b" "include/idn/version.h" | $SED -e's/^.*VERSION//g' -e 's/@<:@^0-9\.@:>@//g')])
if $PECL_VAR([HAVE_LIBIDNKIT]); then
PECL_DEFINE([HAVE_IDNA2003])
fi
], [
AC_MSG_ERROR([please install and enable pecl/raphf])
])
- PECL_HAVE_PHP_EXT([propro], [
- PECL_HAVE_PHP_EXT_HEADER([propro])
- ], [
- AC_MSG_ERROR([please install and enable pecl/propro])
- ])
- PECL_HAVE_PHP_EXT([hash])
PECL_HAVE_PHP_EXT([iconv])
dnl DONE
fi
fi
PHP_ADD_EXTENSION_DEP([http], [raphf], true)
- PHP_ADD_EXTENSION_DEP([http], [propro], true)
PHP_SUBST(PECL_VAR([HEADERS]))
PHP_SUBST(PECL_VAR([SOURCES]))