libtool-based build system

From: Date: Sun, 03 Oct 1999 23:42:52 +0000
Subject: libtool-based build system
Groups: php.version4 
Request: Send a blank email to php-version4+get-5110@lists.php.net to get a copy of this message
Since we want PHP to grow beyond its original roots, we need to use a build environment which is independent of certain tools. PHP 4.0 already utilizes autoconf and automake to build the tree, but still depends on certain third-party tools for certain targets (i.e. apxs for shared libraries). Thus, libtool enters the stage. libtool provides support for building shared and static libraries in a cross-platform portable way and integrates perfectly with autoconf and automake. This allows us to support new targets on UNIX (Zeus and AOLserver, for example). A test version, based on the current PHP 4.0 CVS, is available here: http://schumann.cx/php4-ltx.tar.gz (1825 KB) http://schumann.cx/php4-ltx.tar.bz2 (1321 KB) Please take the time to play with it--do not forget to tell me whether it works on your platform (please include configuration parameters). It has been tested so far on alphaev56-unknown-linux-gnu (cgi, apache, apxs, aol) i686-pc-linux-gnu (cgi, apache, apxs) alphaev6-dec-osf5.0 (cgi, apxs) (*) alphaev56-dec-osf4.0d (cgi, apache) sparc-sun-solaris2.7 (cgi, apxs, aol) i386-unknown-freebsdelf4.0 (cgi, apxs) * needs a modified ltconfig for shared library support. Patch submitted to bug-libtool There have been numerous changes. Incomplete list follows. * archive-based convenience libraries completely replaced with libtool components * cleaned up C/C++ scanner handling in libzend * 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-symbol-regex feature One issue persists: * libtool does not provide a facility for hardcoding runpaths into shared libraries. Thus, we will either drop support for this feature, or figure out how to pass native flags at link time. Unless all issues are resolved satisfactory, I will not commit these changes. -- Regards, Sascha Schumann Consultant

« previous php.version4 (#5110) next »