[php-src] Issue #12797: PHP_ADD_EXTENSION_DEP doesn't fail when expected (build system)
| From: | dktapps | Date: | Mon, 27 Nov 2023 14:39:17 +0000 |
| Subject: | [php-src] Issue #12797: PHP_ADD_EXTENSION_DEP doesn't fail when expected (build system) | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-245904@lists.php.net to get a copy of this message | ||
Issue: https://github.com/php/php-src/issues/12797
Author: dktapps
### Description
I have the following m4 code: https://github.com/pmmp/ext-pmmpthread/blob/6a516e5b58d326e2dcc23bb75fba6e210d5b313f/config.m4#L33-L44
```m4
CLASSES_SRC="classes/pool.c classes/thread.c classes/thread_safe_array.c
classes/thread_safe.c classes/runnable.c classes/worker.c"
PHP_NEW_EXTENSION(pmmpthread, php_pmmpthread.c $CLASSES_SRC src/copy.c src/monitor.c
src/worker.c src/globals.c src/prepare.c src/store.c src/handlers.c src/object.c src/routine.c
src/queue.c src/ext_sockets_hacks.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1
-Werror=implicit-function-declaration)
PHP_ADD_BUILD_DIR($ext_builddir/src, 1)
PHP_ADD_INCLUDE($ext_builddir)
if test "$PHP_PMMPTHREAD_SOCKETS" != "no"; then
AC_MSG_NOTICE([Support for passing Socket objects between threads enabled. The
sockets extension must be loaded at runtime. You can disable support using
--without-pmmpthread-sockets.])
AC_DEFINE(HAVE_PMMPTHREAD_EXT_SOCKETS_SUPPORT, 1, [Whether pmmpthread supports
passing Socket objects between threads])
PHP_ADD_EXTENSION_DEP(pmmpthread, sockets)
else
AC_MSG_NOTICE([Support for passing Socket objects between threads disabled. You can
enable support using --with-pmmpthread-sockets.])
fi
fi
```
When using
--disable-all or --disable-sockets in conjunction with
--with-pmmpthread-sockets, I expect the configure command to fail (because
of the PHP_ADD_EXTENSION_DEP(pmmpthread, sockets)), but it doesn't.
The build proceeds and results in a compile error due to sockets being disabled.
Similar code for Windows works correctly.
### PHP Version
PHP 8.2 git 6a914cb7a50fafbda38a4d8acce3a06b97dbd994
### Operating System
WSL2 Ubuntu 20.04