followup on #44
[m6w6/ext-http] / config9.m4
index da682f7a0975a545b82f51823dc2bea1d1bf44c6..3c02edc2ed01c81001be17c2f3e1389cc1ec0a74 100644 (file)
@@ -409,19 +409,44 @@ dnl ----
 
                        dnl end compile tests
 
-                       AC_MSG_CHECKING([for bundled SSL CA info])
-                       CURL_CAINFO=
-                       for i in `$CURL_CONFIG --ca` "/etc/ssl/certs/ca-certificates.crt" "/etc/ssl/certs/ca-bundle.crt"; do
-                               if test -f "$i"; then
-                                       CURL_CAINFO="$i"
-                                       break
+                       AC_MSG_CHECKING([for default SSL CA info/path])
+                       CURL_CA_PATH=
+                       CURL_CA_INFO=
+                       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/.*=//')
+                       fi
+                       for i in \
+                               "$CURL_CONFIG_CA" \
+                               /etc/ssl/certs \
+                               /etc/ssl/certs/ca-bundle.crt \
+                               /etc/ssl/certs/ca-certificates.crt \
+                               /etc/pki/tls/certs/ca-bundle.crt \
+                               /etc/pki/tls/certs/ca-bundle.trust.crt \
+                               /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem \
+                               /System/Library/OpenSSL
+                       do
+                               if test -z "$CURL_CA_PATH" && test -d "$i"; then
+                                       # check if it's actually a hashed directory
+                                       if ls "$i"/@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@@<:@0-9a-f@:>@.0 >/dev/null 2>&1; then
+                                               CURL_CA_PATH="$i"
+                                       fi
+                               elif test -z "$CURL_CA_INFO" && test -f "$i"; then
+                                       CURL_CA_INFO="$i"
                                fi
                        done
-                       if test "x$CURL_CAINFO" = "x"; then
-                               AC_MSG_RESULT([not found])
+                       if test -n "$CURL_CA_PATH" && test -n "$CURL_CA_INFO"; then
+                               AC_MSG_RESULT([path:$CURL_CA_PATH, info:$CURL_CA_INFO])
+                               AC_DEFINE_UNQUOTED([PHP_HTTP_CURL_CAPATH], ["$CURL_CA_PATH"], [path to default SSL CA path])
+                               AC_DEFINE_UNQUOTED([PHP_HTTP_CURL_CAINFO], ["$CURL_CA_INFO"], [path to default SSL CA info])
+                       elif test -n "$CURL_CA_INFO"; then
+                               AC_MSG_RESULT([info:$CURL_CA_INFO])
+                               AC_DEFINE_UNQUOTED([PHP_HTTP_CURL_CAINFO], ["$CURL_CA_INFO"], [path to default SSL CA info])
+                       elif test -n "$CURL_CA_PATH"; then
+                               AC_MSG_RESULT([path:$CURL_CA_PATH])
+                               AC_DEFINE_UNQUOTED([PHP_HTTP_CURL_CAPATH], ["$CURL_CA_PATH"], [path to default SSL CA path])
                        else
-                               AC_MSG_RESULT([$CURL_CAINFO])
-                               AC_DEFINE_UNQUOTED([PHP_HTTP_CURL_CAINFO], ["$CURL_CAINFO"], [path to bundled SSL CA info])
+                               AC_MSG_RESULT([none])
                        fi
 
                        PHP_ADD_INCLUDE($CURL_DIR/include)
@@ -573,59 +598,36 @@ dnl ----
 dnl ----
 dnl DONE
 dnl ----
-       PHP_ADD_INCLUDE(src)
-       PHP_ADD_BUILD_DIR(src)
-       PHP_HTTP_SOURCES="\
-               src/php_http_buffer.c \
-               src/php_http.c \
-               src/php_http_client.c \
-               src/php_http_client_curl.c \
-               src/php_http_client_request.c \
-               src/php_http_client_response.c \
-               src/php_http_cookie.c \
-               src/php_http_curl.c \
-               src/php_http_encoding.c \
-               src/php_http_env.c \
-               src/php_http_env_request.c \
-               src/php_http_env_response.c \
-               src/php_http_etag.c \
-               src/php_http_exception.c \
-               src/php_http_filter.c \
-               src/php_http_header_parser.c \
-               src/php_http_header.c \
-               src/php_http_info.c \
-               src/php_http_message_body.c \
-               src/php_http_message.c \
-               src/php_http_message_parser.c \
-               src/php_http_misc.c \
-               src/php_http_negotiate.c \
-               src/php_http_object.c \
-               src/php_http_options.c \
-               src/php_http_params.c \
-               src/php_http_querystring.c \
-               src/php_http_url.c \
-               src/php_http_version.c \
-       "
-       PHP_NEW_EXTENSION([http], $PHP_HTTP_SOURCES, $ext_shared)
-
-       dnl shared extension deps
+
+       PHP_SUBST([HTTP_SHARED_LIBADD])
+
+       PHP_HTTP_SRCDIR=PHP_EXT_SRCDIR(http)
+       PHP_HTTP_BUILDDIR=PHP_EXT_BUILDDIR(http)
+
+       PHP_ADD_INCLUDE($PHP_HTTP_SRCDIR/src)
+       PHP_ADD_BUILD_DIR($PHP_HTTP_BUILDDIR/src)
+
+       PHP_HTTP_HEADERS=`(cd $PHP_HTTP_SRCDIR/src && echo *.h)`
+       PHP_HTTP_SOURCES=`(cd $PHP_HTTP_SRCDIR && echo src/*.c)`
+
+       PHP_NEW_EXTENSION(http, $PHP_HTTP_SOURCES, $ext_shared)
+       PHP_INSTALL_HEADERS(ext/http, php_http.h $PHP_HTTP_HEADERS)
+
        HTTP_SHARED_DEP([hash])
        HTTP_SHARED_DEP([iconv])
-
-       dnl extension deps
        PHP_ADD_EXTENSION_DEP([http], [raphf], true)
        PHP_ADD_EXTENSION_DEP([http], [propro], true)
 
-       PHP_SUBST([HTTP_SHARED_LIBADD])
+       PHP_SUBST(PHP_HTTP_HEADERS)
+       PHP_SUBST(PHP_HTTP_SOURCES)
+
+       PHP_SUBST(PHP_HTTP_SRCDIR)
+       PHP_SUBST(PHP_HTTP_BUILDDIR)
 
-       PHP_HTTP_HEADERS=`(cd $ext_srcdir/src && echo *.h)`
-       PHP_INSTALL_HEADERS(ext/http, php_http.h $PHP_HTTP_HEADERS)
-       PHP_SUBST([PHP_HTTP_HEADERS])
-       PHP_HTTP_SRCDIR=$ext_srcdir
-       PHP_SUBST([PHP_HTTP_SRCDIR])
-       PHP_HTTP_BUILDDIR=$ext_builddir
-       PHP_SUBST([PHP_HTTP_BUILDDIR])
        PHP_ADD_MAKEFILE_FRAGMENT
 
        AC_DEFINE([HAVE_HTTP], [1], [Have extended HTTP support])
+       if $HTTP_HAVE_A_REQUEST_LIB; then
+               AC_DEFINE([PHP_HTTP_HAVE_CLIENT], [1], [Have HTTP client support])
+       fi
 fi