]> granicus.if.org Git - php/commitdiff
Use PKG_CHECK_MODULES to detect the zip library
authorHugh McMaster <hugh.mcmaster@outlook.com>
Sat, 27 Apr 2019 08:47:10 +0000 (18:47 +1000)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 29 Apr 2019 12:16:16 +0000 (14:16 +0200)
ext/zip/config.m4

index b1f87a010120a8a274f8e66b8086ace084305ba7..4f6360243a9b90a244afb2a51ea0dfc849617df1 100644 (file)
@@ -1,88 +1,47 @@
 dnl config.m4 for extension zip
 
-PHP_ARG_ENABLE([zip],
-  [for zip archive read/writesupport],
-  [AS_HELP_STRING([--enable-zip],
+PHP_ARG_WITH([zip],
+  [for zip archive read/write support],
+  [AS_HELP_STRING([--with-zip],
     [Include Zip read/write support])])
 
-PHP_ARG_WITH([libzip],
-  [libzip],
-  [AS_HELP_STRING([[--with-libzip[=DIR]]],
-    [ZIP: use libzip])],
-  [yes],
-  [no])
-
 if test "$PHP_ZIP" != "no"; then
+  PKG_CHECK_MODULES([LIBZIP], [libzip >= 0.11])
+  LIBZIP_LIBDIR=`$PKG_CONFIG --variable=libdir libzip`
+
+  dnl Could not think of a simple way to check libzip for overwrite support
+  PHP_CHECK_LIBRARY(zip, zip_open,
+  [
+    PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD)
+    AC_DEFINE(HAVE_LIBZIP,1,[ ])
+  ], [
+    AC_MSG_ERROR(could not find usable libzip)
+  ], [
+    -L$LIBZIP_LIBDIR
+  ])
+
+  PHP_CHECK_LIBRARY(zip, zip_file_set_encryption,
+  [
+    PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD)
+    AC_DEFINE(HAVE_ENCRYPTION, 1, [Libzip >= 1.2.0 with encryption support])
+  ], [
+    AC_MSG_WARN(Libzip >= 1.2.0 needed for encryption support)
+  ], [
+    -L$LIBZIP_LIBDIR
+  ])
+
+  PHP_CHECK_LIBRARY(zip, zip_libzip_version,
+  [
+    AC_DEFINE(HAVE_LIBZIP_VERSION, 1, [Libzip >= 1.3.1 with zip_libzip_version function])
+  ], [
+  ], [
+    -L$LIBZIP_LIBDIR
+  ])
+
+  AC_DEFINE(HAVE_ZIP,1,[ ])
 
   PHP_ZIP_SOURCES="php_zip.c zip_stream.c"
-
-  if test "$PHP_LIBZIP" != "no"; then
-    AC_MSG_CHECKING(for libzip)
-    if test -r $PHP_LIBZIP/include/zip.h; then
-      LIBZIP_CFLAGS="-I$PHP_LIBZIP/include"
-      LIBZIP_LIBDIR="$PHP_LIBZIP/$PHP_LIBDIR"
-      AC_MSG_RESULT(from option: found in $PHP_LIBZIP)
-
-    elif test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libzip; then
-      if $PKG_CONFIG libzip --atleast-version 0.11; then
-        LIBZIP_CFLAGS=`$PKG_CONFIG libzip --cflags`
-        LIBZIP_LIBDIR=`$PKG_CONFIG libzip --variable=libdir`
-        LIBZIP_VERSON=`$PKG_CONFIG libzip --modversion`
-        AC_MSG_RESULT(from pkgconfig: version $LIBZIP_VERSON found in $LIBZIP_LIBDIR)
-      else
-        AC_MSG_ERROR(system libzip must be upgraded to version >= 0.11)
-      fi
-
-    else
-      for i in /usr/local /usr; do
-        if test -r $i/include/zip.h; then
-          LIBZIP_CFLAGS="-I$i/include"
-          LIBZIP_LIBDIR="$i/$PHP_LIBDIR"
-          AC_MSG_RESULT(in default path: found in $i)
-          break
-        fi
-      done
-    fi
-
-    if test -z "$LIBZIP_LIBDIR"; then
-      AC_MSG_RESULT(not found)
-      AC_MSG_ERROR(Please reinstall the libzip. Header zip.h not found.)
-    fi
-
-    dnl Could not think of a simple way to check libzip for overwrite support
-    PHP_CHECK_LIBRARY(zip, zip_open,
-    [
-      PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD)
-      AC_DEFINE(HAVE_LIBZIP,1,[ ])
-    ], [
-      AC_MSG_ERROR(could not find usable libzip)
-    ], [
-      -L$LIBZIP_LIBDIR
-    ])
-
-    PHP_CHECK_LIBRARY(zip, zip_file_set_encryption,
-    [
-      PHP_ADD_LIBRARY_WITH_PATH(zip, $LIBZIP_LIBDIR, ZIP_SHARED_LIBADD)
-      AC_DEFINE(HAVE_ENCRYPTION, 1, [Libzip >= 1.2.0 with encryption support])
-    ], [
-      AC_MSG_WARN(Libzip >= 1.2.0 needed for encryption support)
-    ], [
-      -L$LIBZIP_LIBDIR
-    ])
-
-    PHP_CHECK_LIBRARY(zip, zip_libzip_version,
-    [
-      AC_DEFINE(HAVE_LIBZIP_VERSION, 1, [Libzip >= 1.3.1 with zip_libzip_version function])
-    ], [
-    ], [
-      -L$LIBZIP_LIBDIR
-    ])
-
-    AC_DEFINE(HAVE_ZIP,1,[ ])
-    PHP_NEW_EXTENSION(zip, $PHP_ZIP_SOURCES, $ext_shared,, $LIBZIP_CFLAGS)
-  else
-    AC_MSG_ERROR([libzip is no longer bundled: install libzip version >= 0.11 (1.3.0 recommended for encryption and bzip2 support)])
-  fi
+  PHP_NEW_EXTENSION(zip, $PHP_ZIP_SOURCES, $ext_shared,, $LIBZIP_CFLAGS)
 
   PHP_SUBST(ZIP_SHARED_LIBADD)