- add note about SSL connect errors on windows due to LIB/DLL mismatches
[m6w6/ext-http] / config.m4
index 90e3a3d34f8ac3a89431f260627aaffbcd24e00b..ec5b519e701ae60cd64d688900f5cb15cbbb80cd 100644 (file)
--- a/config.m4
+++ b/config.m4
@@ -3,12 +3,15 @@ dnl $Id$
 
 PHP_ARG_ENABLE([http], [whether to enable extended HTTP support],
 [  --enable-http           Enable extended HTTP support])
-PHP_ARG_WITH([http-curl-requests], [wheter to enable cURL HTTP requests],
+PHP_ARG_WITH([http-curl-requests], [whether 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])
+PHP_ARG_WITH([http-magic-mime], [whether to enable response content type guessing],
+[  --with-http-magic-mime[=MAGICDIR]
+                           With magic mime response content type guessing])
 
 if test "$PHP_HTTP" != "no"; then
 
@@ -58,6 +61,12 @@ dnl ----
                        AC_MSG_RESULT([found: $CURL_CONFIG])
                fi
                
+               CURL_SSL=`$CURL_CONFIG --features | $EGREP SSL`
+               if test "$CURL_SSL" == "SSL"; then
+                       AC_DEFINE([HTTP_HAVE_SSL], [1], [ ])
+               fi
+               AC_CHECK_HEADERS([openssl/crypto.h])
+               
                CURL_LIBS=`$CURL_CONFIG --libs`
                
                PHP_ADD_INCLUDE($CURL_DIR/include)
@@ -73,6 +82,10 @@ dnl ----
                        [AC_DEFINE([HAVE_CURL_EASY_STRERROR], [1], [ ])], [ ],
                        [$CURL_LIBS -L$CURL_DIR/$PHP_LIBDIR]
                )
+               PHP_CHECK_LIBRARY(curl, curl_easy_reset,
+                       [AC_DEFINE([HAVE_CURL_EASY_RESET], [1], [ ])], [ ],
+                       [$CURL_LIBS -L$CURL_DIR/$PHP_LIBDIR]
+               )
        fi
 
 dnl ----
@@ -100,6 +113,31 @@ dnl ----
                AC_DEFINE([HTTP_HAVE_MHASH], [1], [Have mhash support])
        fi
 
+dnl ----
+dnl MAGIC
+dnl ----
+       if test "$PHP_HTTP_MAGIC_MIME" != "no"; then
+       
+               AC_MSG_CHECKING([for magic.h])
+               MAGIC_DIR=
+               for i in "$PHP_HTTP_MAGIC_MIME" /usr/local /usr /opt; do
+                       if test -f "$i/include/magic.h"; then
+                               MAGIC_DIR=$i
+                               break
+                       fi
+               done
+               if test -z "$MAGIC_DIR"; then
+                       AC_MSG_RESULT([not found])
+                       AC_MSG_ERROR([could not find magic.h])
+               else
+                       AC_MSG_RESULT([found in $MAGIC_DIR])
+               fi
+               
+               PHP_ADD_INCLUDE($MAGIC_DIR/include)
+               PHP_ADD_LIBRARY_WITH_PATH(magic, $MAGIC_DIR/$PHP_LIBDIR, HTTP_SHARED_LIBADD)
+               AC_DEFINE([HTTP_HAVE_MAGIC], [1], [Have magic mime support])
+       fi
+
 dnl ----
 dnl DONE
 dnl ----
@@ -112,13 +150,19 @@ dnl ----
        PHP_NEW_EXTENSION([http], $PHP_HTTP_SOURCES, [$ext_shared])
        PHP_ADD_BUILD_DIR($ext_builddir/phpstr, 1)
        PHP_SUBST([HTTP_SHARED_LIBADD])
-       PHP_ADD_MAKEFILE_FRAGMENT
-       AC_DEFINE([HAVE_HTTP], [1], [Have extended HTTP support])
 
-dnl ---
-dnl odd warnings
-dnl ---
-dnl            CFLAGS=" -g -O2 -W -Wchar-subscripts -Wformat=2 -Wno-format-y2k -Wimplicit -Wmissing-braces -Wunused-variable -Wbad-function-cast -Wpointer-arith -Wsign-compare -Winline"
-dnl            PHP_SUBST([CFLAGS])
+       HTTP_HEADER_FILES="php_http_std_defs.h php_http.h php_http_api.h php_http_cache_api.h \
+               php_http_date_api.h php_http_headers_api.h php_http_info_api.h php_http_message_api.h \
+               php_http_request_api.h php_http_request_method_api.h php_http_send_api.h php_http_url_api.h"
+       PHP_SUBST([HTTP_HEADER_FILES])
 
+       ifdef([PHP_INSTALL_HEADERS],
+       [
+               PHP_INSTALL_HEADERS(ext/http, $HTTP_HEADER_FILES)
+               PHP_INSTALL_HEADERS(ext/http/phpstr, [phpstr/phpstr.h])
+       ], [
+               PHP_ADD_MAKEFILE_FRAGMENT
+       ])
+
+       AC_DEFINE([HAVE_HTTP], [1], [Have extended HTTP support])
 fi