> 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]

Reply via email to