diff --git a/UPGRADING b/UPGRADING index 0df93a766aab9..bc843b512ca00 100644 --- a/UPGRADING +++ b/UPGRADING @@ -662,6 +662,9 @@ PHP 8.4 UPGRADE NOTES . The typed properties XSLTProcessor::$cloneDocument and XSLTProcessor::$doXInclude are now declared. +- zlib: + . The zlib extension now requires at least zlib 1.2.11. + ======================================== 10. New Global Constants ======================================== diff --git a/build/php.m4 b/build/php.m4 index 0b1ba242547a1..22b7f73528810 100644 --- a/build/php.m4 +++ b/build/php.m4 @@ -1929,6 +1929,20 @@ PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.7.7], [ ]) ]) +dnl +dnl PHP_SETUP_ZLIB(shared-add [, action-found, [action-not-found]]) +dnl +dnl Common setup macro for zlib library. If zlib is not found on the system, the +dnl default error by PKG_CHECK_MODULES is emitted, unless the action-not-found +dnl is given. +dnl +AC_DEFUN([PHP_SETUP_ZLIB], [dnl +PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.11], [dnl + PHP_EVAL_INCLINE([$ZLIB_CFLAGS]) + PHP_EVAL_LIBLINE([$ZLIB_LIBS], [$1]) + $2], [$3])dnl +]) + dnl ---------------------------------------------------------------------------- dnl Misc. macros dnl ---------------------------------------------------------------------------- diff --git a/ext/gd/config.m4 b/ext/gd/config.m4 index 5c1c7a867c2f8..2830bfaf125ec 100644 --- a/ext/gd/config.m4 +++ b/ext/gd/config.m4 @@ -65,13 +65,6 @@ dnl dnl Checks for the configure options dnl -dnl zlib is always required -AC_DEFUN([PHP_GD_ZLIB],[ - PKG_CHECK_MODULES([ZLIB], [zlib]) - PHP_EVAL_LIBLINE($ZLIB_LIBS, GD_SHARED_LIBADD) - PHP_EVAL_INCLINE($ZLIB_CFLAGS) -]) - dnl libpng is always required AC_DEFUN([PHP_GD_PNG],[ PKG_CHECK_MODULES([PNG], [libpng]) @@ -224,7 +217,7 @@ dnl These are always available with bundled library AC_DEFINE(HAVE_GD_TGA, 1, [ ]) dnl Various checks for GD features - PHP_GD_ZLIB + PHP_SETUP_ZLIB([GD_SHARED_LIBADD]) PHP_GD_PNG PHP_GD_AVIF PHP_GD_WEBP diff --git a/ext/mysqlnd/config.w32 b/ext/mysqlnd/config.w32 index 5f191297d1196..f5efa999df150 100644 --- a/ext/mysqlnd/config.w32 +++ b/ext/mysqlnd/config.w32 @@ -34,7 +34,7 @@ if (PHP_MYSQLND != "no") { CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS", "..\\zlib;" + php_usual_include_suspects) ) { - AC_DEFINE("MYSQLND_COMPRESSION_ENABLED", 1, "Compression support"); + AC_DEFINE("MYSQLND_COMPRESSION_ENABLED", 1, "Define to 1 if mysqlnd has compressed protocol support."); AC_DEFINE("MYSQLND_SSL_SUPPORTED", 1, "SSL support"); if (CHECK_LIB("crypt32.lib", "mysqlnd")) { AC_DEFINE("MYSQLND_HAVE_SSL", 1, "Extended SSL support"); diff --git a/ext/mysqlnd/config9.m4 b/ext/mysqlnd/config9.m4 index 93f5b8f992b38..8b0d64cffb2f4 100644 --- a/ext/mysqlnd/config9.m4 +++ b/ext/mysqlnd/config9.m4 @@ -31,13 +31,10 @@ if test "$PHP_MYSQLND" != "no" || test "$PHP_MYSQLND_ENABLED" = "yes"; then mysqlnd_result.c mysqlnd_result_meta.c mysqlnd_debug.c mysqlnd_commands.c \ mysqlnd_block_alloc.c mysqlnd_read_buffer.c mysqlnd_plugin.c php_mysqlnd.c" - - if test "$PHP_MYSQLND_COMPRESSION_SUPPORT" != "no"; then - PKG_CHECK_MODULES([ZLIB], [zlib]) - PHP_EVAL_LIBLINE($ZLIB_LIBS, MYSQLND_SHARED_LIBADD) - PHP_EVAL_INCLINE($ZLIB_CFLAGS) - AC_DEFINE([MYSQLND_COMPRESSION_ENABLED], 1, [Enable compressed protocol support]) - fi + AS_VAR_IF([PHP_MYSQLND_COMPRESSION_SUPPORT], [no],, + [PHP_SETUP_ZLIB([MYSQLND_SHARED_LIBADD], + [AC_DEFINE([MYSQLND_COMPRESSION_ENABLED], [1], + [Define to 1 if mysqlnd has compressed protocol support.])])]) AC_DEFINE([MYSQLND_SSL_SUPPORTED], 1, [Enable core mysqlnd SSL code]) diff --git a/ext/zlib/config.w32 b/ext/zlib/config.w32 index 70bd1a74fab4f..80b7bb1766810 100644 --- a/ext/zlib/config.w32 +++ b/ext/zlib/config.w32 @@ -7,7 +7,7 @@ if (PHP_ZLIB == "yes") { CHECK_HEADER_ADD_INCLUDE("zlib.h", "CFLAGS", "..\\zlib;" + php_usual_include_suspects)) { EXTENSION("zlib", "zlib.c zlib_fopen_wrapper.c zlib_filter.c", PHP_ZLIB_SHARED, "/D ZLIB_EXPORTS /DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"); - AC_DEFINE("HAVE_ZLIB", 1, "ZLIB support"); + AC_DEFINE("HAVE_ZLIB", 1, "Define to 1 if zlib extension is available."); if (!PHP_ZLIB_SHARED) { ADD_DEF_FILE("ext\\zlib\\php_zlib.def"); diff --git a/ext/zlib/config0.m4 b/ext/zlib/config0.m4 index 0d60700565601..04949a4355bf2 100644 --- a/ext/zlib/config0.m4 +++ b/ext/zlib/config0.m4 @@ -1,16 +1,14 @@ PHP_ARG_WITH([zlib], [for ZLIB support], [AS_HELP_STRING([--with-zlib], - [Include ZLIB support (requires zlib >= 1.2.0.4)])]) + [Include ZLIB support (requires zlib library)])]) if test "$PHP_ZLIB" != "no"; then - PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.0.4]) - - PHP_EVAL_LIBLINE($ZLIB_LIBS, ZLIB_SHARED_LIBADD) - PHP_EVAL_INCLINE($ZLIB_CFLAGS) - - AC_DEFINE(HAVE_ZLIB,1,[ ]) - - PHP_NEW_EXTENSION(zlib, zlib.c zlib_fopen_wrapper.c zlib_filter.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) - PHP_SUBST(ZLIB_SHARED_LIBADD) + PHP_SETUP_ZLIB([ZLIB_SHARED_LIBADD], [dnl + AC_DEFINE([HAVE_ZLIB], [1], [Define to 1 if zlib extension is available.]) + PHP_NEW_EXTENSION([zlib], + [zlib.c zlib_fopen_wrapper.c zlib_filter.c], + [$ext_shared],, + [-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1]) + PHP_SUBST([ZLIB_SHARED_LIBADD])]) fi