- added support for externally built modules,
- improved support for in-tree shared modules,
- fixed diversion bugs,
- configure displays some informative messages,
- faster static build
(libtool isn't used anymore for compiling non-PIC objects),
- dependencies comparable to automake's without requiring GNU make or GCC,
- working make clean for non-GNU makes.
with libtool components
* SAPI targets can enable thread-safe mode and define
shared/static/program build target
* all configure scripts use the same config.cache
* phplibdir is $(top_builddir)/modules to avoid
permission problems
* sapi/*/Makefile.inc are gone
* runpath handling cleaned up
* top-level Makefile.in obsoleted through Makefile.am
* --enable-versioning uses libtool's cleaner and more
portable -export-symbols feature
Examples on how to test:
./configure --with-xml static
./configure --with-xml=/opt static
./configure --with-xml=shared shared
./configure --with-xml=shared,/opt shared
The difference between these two is that when the extension is shared, it
is not merged into libphpext.a. The shared extension is currently always
built. I can't find a way to do just one or the other with automake/libtool,
if someone has a clever idea, please come forward. :-)
"make install" installs the .so (as well as a lot of other cruft) in
$prefix/lib/php.
3 things (this is a bad hack as of now!):
- xml.c uses _php3_strtoupper
is #include "../standard/php3_string.h" the right way to get the prototype?
- i've copied php3i_long_pval/php3i_string_pval from the php3 tree into
xml.c (this is defnetly WRONG, but where do i find those?)
- as php3tls_pval_destructor is not available in zend, i've
#define php3tls_pval_destructor(a) pval_destructor(a) which is maybe not what we want!
* Fully implement ISAPI support - POST and cookies among other things.
* Almost completely rewrote phpinfo(). Allow modules to easily display their
information in phpinfo() without modifying phpinfo() itself (prototype for
the module info function was changed, thus the large amount of updated module
files).
* Initial extended SAPI support for Apache, completely untested.
* CGI now uses SAPI fully as well.
In this new build structure we are adding libraries to $LIBS as we add
modules instead of doing an AC_SUBST into the Makefile. One reason for
doing the subst in php3 was to get around the libraries that could not
be included in $LIBS because doing so would mess up the various configure
tests. For example, you can't do a -limap as part of the various simple
configure compile programs because -limap requires a bunch of callback
symbols to be present.
fhttpd module taken out of functions, functions is ready to go.
The only extensions I have tested are gd+freetype and odbc(solid).
Please try compiling in your favourite extensions and let me know how it
works.