Re: [PHP4BETA] libtool-based build system
| From: | Ayron Garrett | Date: | Thu, 07 Oct 1999 03:20:21 +0000 |
| Subject: | Re: [PHP4BETA] libtool-based build system | ||
| References: | 1 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-5257@lists.php.net to get a copy of this message | ||
----- Original Message -----
From: Sascha Schumann <sascha@schumann.cx>
To: <php4beta@lists.php.net>
Sent: Sunday, October 03, 1999 4:42 PM
Subject: [PHP4BETA] libtool-based build system
> 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
>
> --
> PHP 4 Beta