Ok, my notes include now:
- PHP_SELECT_SAPI will be extended to also cover ZTS
PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, zts]]])
zts is either
empty -- works with non-ZTS only (common case)
or 1 - ZTS only
or 2 - works with both (e.g. CGI, embed)
If an incompatible set of SAPI modules is selected, configure
will dump out with an error message. I'm currently figuring
out the details.
The build-target (newly introduced current 5th parameter)
will be dropped -- on a second thought, it is more appealing
to create either libphp4.la or an executable named php in the
SAPI module's directory. Because that is not the final
destination, the exact build name does not really matter, so
we take the simplest approach.
- PHP_CLI_OBJS/PHP_SAPI_OBJS/PHP_GLOBAL_OBJS will be
replaced with PHP_OBJS_$TARGET_SAPI_NAME and
PHP_OBJS_COMMON
Because we might have any number of SAPI module targets, we
introduce a common prefix (PHP_OBJS).
- EXT_STATIC/EXT_CLI_STATIC will be removed in favor of
PHP_EXT_COMMON and PHP_EXT_$TARGET_SAPI_NAME
This is similar to the prior point. These variables will
contain a list of extensions which the
internal_functions_$TARGET_SAPI_NAME.c file will be
generated from. Which leads me to
- config.status will contain a dynamically generated section
for the creation of internal_functions_*.c files
- INSTALL_IT will be substituted with
PHP_INSTALL_$TARGET_SAPI_NAME for each SAPI module
Each install target will be callable as
install-$target_sapi_name.
- The "install-sapi" target will invoke the previously
mentioned targets.
- PHP_ADD_SOURCES will be able to add files to any
PHP_OBJS_* variable.
- The meaning of PHP_NEW_EXTENSION's sapi_class parameter
will be extended to allow a *list* of SAPI module names
with which the extension can be compiled.
Request for Discussion: I also consider dropping this
option, because from my POV the user should be free to
include any extension she likes into any SAPI module. E.g.
I don't see any reason for not including pcntl into my
webserver SAPI module which currently is simply impossible.
- Sascha
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php