Re: [PHP4BETA] Shared modules
| From: | rubys at us dot ibm dot com | Date: | Tue, 28 Dec 1999 00:34:24 +0000 |
| Subject: | Re: [PHP4BETA] Shared modules | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-8570@lists.php.net to get a copy of this message | ||
Rasmus wrote:
>I think the holy grail here is the ability to build a shared extension by
>itself without actually building all of PHP
For now, I would settle for being consistently able to build a shared
extension after actually building all of PHP.
My ext/java has been intermittently broken on Unix on a fairly regular
basis. In many cases the problems go away by themselves, so I'm not very
worried. In other cases, the fixes have been straightforward.
For the first time, ext/java is broken on Windows. The problem has to do
with the way that Windows handles DLLs. Inside of one of the functions,
there is a call to what was once ALLOC_PVAL. This has been changed to
ALLOC_ZVAL. ALLOC_ZVAL is a macro which invokes a macro which invokes
ALS_FETCH (another macro) which accesses global data (alloc_globals_id).
The rules of Windows DLLs prevent direct accessing of global data from
another DLL without a lot of special incantations - in fact, the generally
accepted practice is to only access such data through specially exported
functions, encapsualted via mechanisms like PHPAPI.
My reason for bringing this up is not to whine (though I would appreciate
it if Zeev and/or Andi would take a look into this...<grin>). My real
point is that if this is the holy grail, then something more substantial
than some non-mainstream extension needs to be routinely built as a
separate shared library/DLL.
Food for thought.