always building executable
| From: | (Stig S. Bakken) | Date: | Mon, 15 Oct 2001 07:37:36 +0000 |
| Subject: | always building executable | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-67943@lists.php.net to get a copy of this message | ||
Hi,
I think it's time to try always building a command-line executable
again. This time it would be logical to combine it with having
sapi/cli (coming up soon).
First a recap of why it's needed:
We're going to move extensions out of the PHP distribution in a future
release (probably 4.3.0 or something like that). To install
extensions that PHP no longer bundle you will need to use an install
tool (from PEAR). This install tool is written in PHP, and will give
you a command-line interface (web/gtk installers will probably follow
later). So to install that extension you need a PHP executable that
can run scripts from your shell. We could do a "make clean" and
re-configure, but since basically every PHP installation should have
the shell version, that basically doubles build time and grinding of
teeth for everyone.
Instead of kludging it in within the current build setup, I'd like to
change the way SAPI backends are built and installed. The changes I
have in mind are:
* change the top-level libphp4.la library to contain everything
_except_ the sapi implementation
* build and install the final target in the sapi/BACKEND directory
* make a libphp4_BACKEND.la library in sapi/BACKEND, linked from the
sapi object files plus the top-level libphp4.la. libphp4_BACKEND.la
will be the final install target instead of libphp4.la.
* make "install" a normal recursive target in php4/Makefile
* always build sapi/cli (command-line interface, basically the CGI
backend without all the CGI-specific stuff) unless --disable-cli is
given to configure
* move the pcntl extension code to sapi/cli
* change the default installation path of the CGI executable, for
example to $libexecdir/cgi-bin/php or something like that, and
use $bindir/php for the command-line version
Comments? Sascha?
- Stig