]> granicus.if.org Git - php/commitdiff
ext/session: catch incompatible configure flags earlier.
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 19 Jan 2018 23:53:22 +0000 (18:53 -0500)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 24 Jan 2018 20:22:15 +0000 (21:22 +0100)
The session extension has a --with-mm flag that tells it to build
the mm backend ("mm" is the name of the library). However, that
backend is not thread-safe, and mod_mm.c will refuse to compile if
the --enable-maintainer-zts flag was also passed to the configure
script.

Rather than crash halfway through the build, this commit adds a check
to the session extension's config.m4 file. If both --with-mm and
--enable-maintainer-zts are "on," then the configure script will
die and explain that they can't be used together.

PHP-bug: 14269

ext/session/config.m4

index 949306c026882a8a54e366612d0ff5230abb0555..b33855a6769b057c9f0f0a89db90c762966d4b11 100644 (file)
@@ -27,7 +27,12 @@ if test "$PHP_MM" != "no"; then
   if test -z "$MM_DIR" ; then
     AC_MSG_ERROR(cannot find mm library)
   fi
-  
+
+  if test "$enable_maintainer_zts" = "yes"; then
+    dnl The mm library is not thread-safe, and mod_mm.c refuses to compile.
+    AC_MSG_ERROR(--with-mm cannot be combined with --enable-maintainer-zts)
+  fi
+
   PHP_ADD_LIBRARY_WITH_PATH(mm, $MM_DIR/$PHP_LIBDIR, SESSION_SHARED_LIBADD)
   PHP_ADD_INCLUDE($MM_DIR/include)
   PHP_INSTALL_HEADERS([ext/session/mod_mm.h])