PHP_ARG_ENABLE([http], [whether to enable extended HTTP support],
[ --enable-http Enable extended HTTP support])
-PHP_ARG_WITH([curl], [for CURL support],
-[ --with-curl[=DIR] Include CURL support])
-PHP_ARG_WITH([mhash], [for mhash support],
-[ --with-mhash[=DIR] Include mhash support])
+PHP_ARG_WITH([http-curl-requests], [wheter to enable cURL HTTP requests],
+[ --with-http-curl-requests[=CURLDIR]
+ With cURL HTTP request support])
+PHP_ARG_WITH([http-mhash-etags], [whether to enable mhash ETag generator],
+[ --with-http-mhash-etags[=MHASHDIR]
+ With mhash ETag generator support])
if test "$PHP_HTTP" != "no"; then
dnl -------
dnl NETDB.H
dnl -------
-
AC_MSG_CHECKING(for netdb.h)
if test -r /usr/include/netdb.h -o -r /usr/local/include/netdb.h; then
AC_DEFINE(HAVE_NETDB_H, 1, [Have netdb.h])
dnl ----
dnl CURL
dnl ----
- if test "$PHP_CURL" != "no"; then
- if test -r $PHP_CURL/include/curl/easy.h; then
- CURL_DIR=$PHP_CURL
- else
- AC_MSG_CHECKING(for CURL in default path)
- for i in /usr/local /usr; do
- if test -r $i/include/curl/easy.h; then
+ if test "$PHP_HTTP_CURL_REQUESTS" != "no"; then
+
+ AC_MSG_CHECKING([for curl/curl.h])
+ CURL_DIR=
+ for i in "$PHP_HTTP_CURL_REQUESTS" /usr/local /usr /opt; do
+ if test -r "$i/include/curl/curl.h"; then
CURL_DIR=$i
- AC_MSG_RESULT(found in $i)
break
fi
- done
- fi
-
+ done
if test -z "$CURL_DIR"; then
- AC_MSG_RESULT(not found)
- AC_MSG_ERROR(Please reinstall the libcurl distribution -
- easy.h should be in <curl-dir>/include/curl/)
- fi
-
- CURL_CONFIG="curl-config"
-
- if ${CURL_DIR}/bin/curl-config --libs > /dev/null 2>&1; then
- CURL_CONFIG=${CURL_DIR}/bin/curl-config
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([could not find curl/curl.h])
else
- if ${CURL_DIR}/curl-config --libs > /dev/null 2>&1; then
- CURL_CONFIG=${CURL_DIR}/curl-config
+ AC_MSG_RESULT([found in $CURL_DIR])
+ fi
+
+ 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 -z "$CURL_CONFIG"; then
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([could not find curl-config])
+ else
+ AC_MSG_RESULT([found: $CURL_CONFIG])
fi
-
+
PHP_ADD_INCLUDE($CURL_DIR/include)
- PHP_EVAL_LIBLINE($CURL_LIBS, CURL_SHARED_LIBADD)
- PHP_ADD_LIBRARY_WITH_PATH(curl, $CURL_DIR/lib, HTTP_SHARED_LIBADD)
-
- PHP_CHECK_LIBRARY(curl,curl_easy_init,
- [
- AC_DEFINE(HTTP_HAVE_CURL,1,[Have CURL easy support])
- ],[
- AC_MSG_ERROR(There is something wrong with libcurl. Please check config.log for more information.)
- ],[
- $CURL_LIBS -L$CURL_DIR/lib
- ])
-
+ PHP_ADD_LIBRARY_WITH_PATH(curl, $CURL_DIR/$PHP_LIBDIR, HTTP_SHARED_LIBADD)
+ PHP_EVAL_LIBLINE(`$CURL_CONFIG --libs`, HTTP_SHARED_LIBADD)
+ AC_DEFINE([HTTP_HAVE_CURL], [1], [Have cURL support])
+
+ PHP_CHECK_LIBRARY(curl, curl_multi_strerror,
+ [AC_DEFINE([HAVE_CURL_MULTI_STRERROR], [1], [ ])], [ ],
+ [$CURL_LIBS -L$CURL_DIR/$PHP_LIBDIR]
+ )
fi
dnl ----
dnl MHASH
dnl ----
-
- if test "$PHP_MHASH" != "no"; then
- for i in $PHP_MHASH /usr/local /usr /opt/mhash; do
- test -f $i/include/mhash.h && MHASH_DIR=$i && break
- done
+ if test "$PHP_HTTP_MHASH_ETAGS" != "no"; then
+ AC_MSG_CHECKING([for mhash.h])
+ MHASH_DIR=
+ for i in "$PHP_HTTP_MHASH_ETAGS" /usr/local /usr /opt; do
+ if test -f "$i/include/mhash.h"; then
+ MHASH_DIR=$i
+ break
+ fi
+ done
if test -z "$MHASH_DIR"; then
- AC_MSG_ERROR(Please reinstall libmhash - cannot find mhash.h)
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([could not find mhash.h])
+ else
+ AC_MSG_RESULT([found in $MHASH_DIR])
fi
PHP_ADD_INCLUDE($MHASH_DIR/include)
- PHP_ADD_LIBRARY_WITH_PATH(mhash, $MHASH_DIR/lib, MHASH_SHARED_LIBADD)
- AC_DEFINE(HAVE_LIBMHASH,1,[HAve mhash support])
+ PHP_ADD_LIBRARY_WITH_PATH(mhash, $MHASH_DIR/$PHP_LIBDIR, HTTP_SHARED_LIBADD)
+ AC_DEFINE([HAVE_LIBMHASH], [1], [Have mhash support])
fi
dnl ----
}
Z_TYPE_P(return_value) = IS_STRING;
- http_ob_etaghandler(data, data_len, &Z_STRVAL_P(return_value), &Z_STRLEN_P(return_value), mode);
+ http_ob_etaghandler(data, data_len, &Z_STRVAL_P(return_value), (uint *) &Z_STRLEN_P(return_value), mode);
}
/* }}} */
PHP_FUNCTION(http_chunked_decode)
{
char *encoded = NULL, *decoded = NULL;
- int encoded_len = 0, decoded_len = 0;
+ size_t decoded_len = 0;
+ int encoded_len = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &encoded, &encoded_len) != SUCCESS) {
RETURN_FALSE;
}
if (NULL != http_chunked_decode(encoded, encoded_len, &decoded, &decoded_len)) {
- RETURN_STRINGL(decoded, decoded_len, 0);
+ RETURN_STRINGL(decoded, (int) decoded_len, 0);
} else {
RETURN_FALSE;
}