> I have now been adding functions to an extension initiated by ext_skel
> for a couple of days
> and familiarized myself with the source code layout and build
> architecture.
>
> It appears everything is controlled by the ../php4/configure file
> which appears to be edited directly by ext_skel when it is run.
>
> Is this correct?
No. The configure script is built by the buildconf script.
> 2)
>
> In regard to self-contained extensions, what does PHPIZE do?
It's a very simple shell script. Read through it. Basically it allows
you to turn an extension into a standalone buildable distribution. Try
this test:
cd php4/ext/exif
mkdir /tmp/exif
make clean
cp * /tmp/exif
cd /tmp/exif
ls (note how few files there are. No configure script or anything)
phpize
ls (compare to before)
./configure --enable-shared=exif
make
ls modules (note the exif.so file)
> 3)
>
> The document README.SELF-CONTAINED-EXTENSIONS, it looks like an
> "embedded" extension
> is one that is in the ../php4/ext/.. subdirectory tree while a
> self contained extension is in a directory outside the normal location.
>
> Is this correct?
Sure. And phpize is used to turn an embedded extension into a
self-contained extension.
> OR, is a self contained extension one that requires dlopen(" ") to gain
> access to the functions?
That's a separate issue. An embedded extension can still be built as a
shared library using --with-mysql=shared (for example), but an embedded
extension can also be built as a static extension.
A self-contained extension can only be built as a shared library which is
either loaded via an "extension=foo.so" in your php.ini file or via a
dl() call in a script.
> 4)
>
> If a shared library is added into the PHP.INI file, does that mean it is
> loaded on startup
> the apache server/libphp4.so and stays loaded. Meaning that the library
> is loaded just one time
> instead of being reloaded for each script that calls dlopen(" ") ?
Correct.
-Rasmus
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]