* Red Wingate <[EMAIL PROTECTED]> [2004-04-16 10:46:19 +0200]: <snip> > [quote] > The CLI SAPI was released for the first time with PHP 4.2.0, but was still > experimental and had to be explicitly enabled with --enable-cli when > running ./configure. Since PHP 4.3.0 the CLI SAPI is no longer experimental > and the option --enable-cli is on by default. You may use --disable-cli to > disable it. > [/quote] > > Using: './configure --enable-cli --with-mysql' is just right :-)
BTW: the whole bunch of build options is very misleading and inconsistent. i.e. "foo-support" doesn't say anything, what it really does. does it leave space for "foo" to operate ? or does it use "foo" to do something magically ? or does it automatically make donation to the "foo" project on each request ? or provide a PHP/Zend binding to foo's API ? Why cant we at least group several features together and introduce a clear naming scheme ? I'd suggest a kind of hierachical namespace. On some short I've got there different groups in mind: + SAPIs to build (even it may sound a little bit misleading, the CLI/standalone interpreter) is also an SAPI. perhaps we should someday find a better word, i.e. "interpreter" ? so their options would be: --enable-sapi-<sapi_name> or w/ optional paramter: --enable-sapi-<sapi_name>=<param> other sapi-dependend parameters should then be named in the way: --sapi-<sapi_name>-<param_name> + there are many extensions, which all provide a set of functions. so their should all be called: --enable-ext-<ext_name> or --enable-ext-<ext_name>=<data> It should be made clear, that extensions are _optional_ modules (in fact they may exists as .so's) Built-in extensions (i.e. pcre) should also be selectable here, but of course may be enabled by default. + many extensions and other features have external dependencies, some of these are supplied by bundled libraries. we should have a way to choose, where to get a library from (system wide, some other path or bundled) and whether to do static or dynamic linking. for cross-compiling its also necessary to specify a prefix where the stuff at build-time comes from (i.e. the root dir of the other target system) I'd suggest the scheme: --with-<libname>-source=(bundled|system|/path/to/prefix) --> prefix (FHS-style) --with-<libname>-include=/path/to/includes --> include directory (added include search path for importing modules) --with-<libname>-static=/path/to/static/lib --with-<libname>-dll=/path/to/dynamic/lib --with-<libname>-rpath=/pat/to/dll/runtime/path --> analogous. --with-<libname>-config=/path/to/pkgconfig-script --> path to config script --with-<libname>-pkg-config --> use freedesktop.org's pkg-config to detect the package. (optional parameter is the path to pkg-config) One big problem with the configure script is its magic autodetection, which sometimes does stupid things, i.e. enabling some features/extensions just because it finds a dependency and leaving out because it doesn't find one of the dependencies and changing this behavour on some features from version to version. (okay, this is a common autoconf problem - in fact is a fundamental design flaw of autoconf) At least it should produce a really clear and machine readable (means regular grammer) output of all available features and modules, whether they're enabled (and why) their dependencies, and the used pathes and build options/variants. For example: [TARGET sapi/cli] module: sapi/cli install-bindir: /usr/bin [MODULE ext/pgsql] module: ext/pgsql version: 1.2.3.4 description: postgresql client library binding enabled: yes link-type: static depdends: pg-client>=7.3.0 [DEPEND pg-client] abi-version: 7.4.1.0 link-type: dynamic link-rpath: /usr/lib/pgsql/lib/ ... Such information is probably not very useful for people just compiling php on the target system by hand, but its really important to make the packager's/distributor's live much, much easier. cu -- --------------------------------------------------------------------- Enrico Weigelt == metux IT services phone: +49 36207 519931 www: http://www.metux.de/ fax: +49 36207 519932 email: [EMAIL PROTECTED] cellphone: +49 174 7066481 --------------------------------------------------------------------- -- DSL-Zugang ab 0 Euro. -- statische IP -- UUCP -- Hosting -- --------------------------------------------------------------------- -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php