configure: fix version check with empty version
[m6w6/ext-http] / autoconf / pecl / pecl.m4
index 9ab9aed32da5e1a326fe79d45f0a79dbf868721f..1763d5d8d36f738eed00a9de5598e1631f9a8707 100644 (file)
@@ -184,6 +184,7 @@ AC_DEFUN([PECL_HAVE_CONST], [dnl
                        #include "$1"
                ], [
                        ]ifelse([$3],,int,[$3])[ _c = $2;
+                       (void) _c;
                ], [
                        PECL_CACHE_VAR([HAVE_$1_$2])=yes
                ], [
@@ -220,7 +221,7 @@ AC_DEFUN([PECL_HAVE_VERSION], [
        aversion=_PECL_TR_VERSION([$PECL_CHECKED_VERSION([$1])])
        mversion=_PECL_TR_VERSION([$2])
        AC_MSG_CHECKING([whether $1 version $PECL_CHECKED_VERSION([$1]) >= $2])
-       if test "$aversion" -lt "$mversion"; then
+       if test -z "$aversion" || test "$aversion" -lt "$mversion"; then
                ifelse($4,,AC_MSG_ERROR([no]), [
                        AC_MSG_RESULT([no])
                        $4
@@ -253,9 +254,12 @@ AC_DEFUN([PECL_CHECK_CUSTOM], [
                CPPFLAGS="-I$PECL_CACHE_VAR([$1_prefix])/include"
                LDFLAGS="-L$PECL_CACHE_VAR([$1_prefix])/$PHP_LIBDIR"
                LIBS="-l$4"
-
+               PHP_EVAL_LIBLINE([$LDFLAGS $LIBS])
+               
                AC_CACHE_VAL(PECL_CACHE_VAR([$1_version]), [
+                       pushd $PECL_CACHE_VAR([$1_prefix]) >/dev/null
                        PECL_CACHE_VAR([$1_version])=$5
+                       popd >/dev/null
                ])
                PECL_CHECKED_VERSION([$1])=$PECL_CACHE_VAR([$1_version])
 
@@ -266,6 +270,8 @@ AC_DEFUN([PECL_CHECK_CUSTOM], [
                else
                        PECL_VAR([HAVE_$1])=false
                fi
+       else
+               PECL_VAR([HAVE_$1])=false
        fi
        AC_MSG_RESULT([${PECL_CHECKED_VERSION([$1]):-no}])
 ])
@@ -305,6 +311,8 @@ AC_DEFUN([PECL_CHECK_CONFIG], [
                        PECL_CACHE_VAR([$1_libs])=$($2 $6)
                ])
                LIBS=$PECL_CACHE_VAR([$1_libs])
+               
+               PHP_EVAL_LIBLINE([$LDFLAGS $LIBS])
        ifelse($2, [$PKG_CONFIG $1], [
                fi
        ])
@@ -324,8 +332,16 @@ dnl PECL_CHECK_PKGCONFIG(pkg[, additional-pkg-config-path])
 dnl
 AC_DEFUN([PECL_CHECK_PKGCONFIG], [dnl
        AC_REQUIRE([PECL_PROG_PKGCONFIG])dnl
-       ifelse($2,,,PKG_CONFIG_PATH="$2/lib/pkgconfig:$PKG_CONFIG_PATH")
+       ifelse($2,,, [
+               PECL_SAVE_VAR(pkgconfig_path)="$PKG_CONFIG_PATH"
+               if test -d "$2"; then
+                       export PKG_CONFIG_PATH="$2/lib/pkgconfig:$PKG_CONFIG_PATH"
+               fi
+       ])
        PECL_CHECK_CONFIG([$1], [$PKG_CONFIG $1], [--modversion], [--cflags-only-I], [--libs-only-L], [--libs-only-l])
+       ifelse($2,,, [
+               PKG_CONFIG_PATH="$PECL_SAVE_VAR(pkgconfig_path)"
+       ])
 ])
 dnl
 dnl PECL_CHECK_DONE(name, success[, incline, libline])