- fix ext/hash detection and dependency
[m6w6/ext-http] / config9.m4
index 648cc5b0972576250a10a509686efa6bcad6b16d..e1c4ab8831c87d703538695001a47cce06cd7ffe 100644 (file)
@@ -13,9 +13,9 @@ PHP_ARG_WITH([http-zlib-compression], [whether to enable zlib encodings support]
 PHP_ARG_WITH([http-magic-mime], [whether to enable response content type guessing],
 [  --with-http-magic-mime[=LIBMAGICDIR]
                            HTTP: with magic mime response content type guessing], "no", "no")
-PHP_ARG_WITH([http-shared-deps], [whether to depend on shared extensions],
-[  --with-http-shared-deps HTTP: disable to not depend on shared extensions
-                           like SPL, hash, iconv and session], $PHP_HTTP, $PHP_HTTP)
+PHP_ARG_WITH([http-shared-deps], [whether to depend on extensions which have been built shared],
+[  --with-http-shared-deps  HTTP: disable to not depend on extensions like hash,
+                                 iconv and session (when built shared)], $PHP_HTTP, $PHP_HTTP)
 
 if test "$PHP_HTTP" != "no"; then
 
@@ -69,10 +69,11 @@ if test "$PHP_HTTP" != "no"; then
        AC_DEFUN([HTTP_HAVE_PHP_EXT], [
                extname=$1
                haveext=$[PHP_]translit($1,a-z_-,A-Z__)
+               ishared=$[PHP_]translit($1,a-z_-,A-Z__)_SHARED
                
                AC_MSG_CHECKING([for ext/$extname support])
                if test -x "$PHP_EXECUTABLE"; then
-                       if test "`$PHP_EXECUTABLE -m | $EGREP '^$extname$'`" = "$extname"; then
+                       if test "`$PHP_EXECUTABLE -m | $EGREP ^$extname\$`" = "$extname"; then
                                [HTTP_HAVE_EXT_]translit($1,a-z_-,A-Z__)=1
                                AC_MSG_RESULT([yes])
                                $2
@@ -255,23 +256,26 @@ dnl ----
 dnl HASH
 dnl ----
        HTTP_HAVE_PHP_EXT([hash], [
-               if test -d ../hash; then
-                       PHP_ADD_INCLUDE([../hash])
+               AC_MSG_CHECKING([for php_hash.h])
+               HTTP_EXT_HASH_INCDIR=
+               for i in `echo $INCLUDES | $SED -e's/-I//g'` $abs_srcdir ../hash; do
+                       if test -d $i; then
+                               if test -f $i/php_hash.h; then
+                                       HTTP_EXT_HASH_INCDIR=$i
+                                       break
+                               elif test -f $i/ext/hash/php_hash.h; then
+                                       HTTP_EXT_HASH_INCDIR=$i/ext/hash
+                                       break
+                               fi
+                       fi
+               done
+               if test -z "$HTTP_EXT_HASH_INCDIR"; then
+                       AC_MSG_RESULT([not found])
+               else
+                       AC_MSG_RESULT([$HTTP_EXT_HASH_INCDIR])
+                       AC_DEFINE([HTTP_HAVE_PHP_HASH_H], [1], [Have ext/hash support])
+                       PHP_ADD_INCLUDE([$HTTP_EXT_HASH_INCDIR])
                fi
-               old_CPPFLAGS=$CPPFLAGS
-               CPPFLAGS=$INCLUDES
-               AC_CHECK_HEADER([ext/hash/php_hash.h], [
-                       AC_DEFINE([HTTP_HAVE_EXT_HASH_EXT_HASH], [1], [Have ext/hash support])
-               ], [ 
-                       AC_CHECK_HEADER([hash/php_hash.h], [
-                               AC_DEFINE([HTTP_HAVE_HASH_EXT_HASH], [1], [Have ext/hash support])
-                       ], [ 
-                               AC_CHECK_HEADER([php_hash.h], [
-                                       AC_DEFINE([HTTP_HAVE_EXT_HASH], [1], [Have ext/hash support])
-                               ])
-                       ])
-               ])
-               CPPFLAGS=$old_CPPFLAGS
        ])
 
 dnl ----
@@ -284,11 +288,6 @@ dnl SESSION
 dnl ----
        HTTP_HAVE_PHP_EXT([session])
 
-dnl ----
-dnl SPL
-dnl ----
-       HTTP_HAVE_PHP_EXT([spl])
-
 dnl ----
 dnl DONE
 dnl ----
@@ -308,7 +307,6 @@ dnl ----
        HTTP_SHARED_DEP([hash])
        HTTP_SHARED_DEP([iconv])
        HTTP_SHARED_DEP([session])
-       HTTP_SHARED_DEP([spl])
        
        PHP_ADD_BUILD_DIR($ext_builddir/phpstr, 1)
        PHP_SUBST([HTTP_SHARED_LIBADD])