Hello,
I recently worked on the extension loading system to fully understand it
and try to improve it while keeping full BC.
Joe helped me in this task.
I wrote an RFC giving details about what we have today (
https://wiki.php.net/internals/extensions )
The branch can be found here :
https://github.com/jpauli/php-src/tree/extensions_improvements
As I plan to merge it against master and probably 5.5 (not sure, depend on
time), I will write an RFC about it to show people what were the ideas for
this branch.
I also plan to rewrite much more things, but that will be against master,
and that will also be RFC'ed
I'm actually running a problem.
Nowadays, our test suite doesn't test anything about extensions, so I
planned to write tests as well.
The goal is to test how the engine loads extensions, should they be Zend
Engine exts or PHP exts, with all the possible scenarios.
For that, I need the test suite to be able to load several pre-compiled
extensions that will each be used to test one test case. The idea is to
modify the build script so that it compiles all those little
zend_test_extensions only when Debug mode is activated (as those exts are
just meant for testing purpose)
So, I merged a "zendtest" extension that can be built as Zend Engine ext or
PHP ext or even both, to test the patches I added to the branch.
But, I cant make the build system compile an extension having a dynamic
name.
I'm very noob to AutoTools and m4, and it's quiet complicated to debug such
tools.
Actually, I tried a concatenation like
PHP_NEW_EXTENSION(zend_test_extension_[$PHP_ZEND_TEST_EXTENSION_BUILD_ENGINE],
zend_test_extension.c, $ext_shared)
But this does not work, autom4te gives errors or generates a wrong-syntaxed
configure.
So if you have ideas about that, I'm listening :-)
If someone has autotools experience, please, share it on IRC on here :-)
Thx
Julien.Pauli
hi,
Hello,
I recently worked on the extension loading system to fully understand it
and try to improve it while keeping full BC.
Joe helped me in this task.
I wrote an RFC giving details about what we have today (
https://wiki.php.net/internals/extensions )The branch can be found here :
https://github.com/jpauli/php-src/tree/extensions_improvementsAs I plan to merge it against master and probably 5.5 (not sure, depend on
time),
From a time point of view, and as RM you know it, I'd to say no for
5.5, too late for such changes.
Will check the branch later :)
--
Pierre
@pierrejoye
hi,
Hello,
I recently worked on the extension loading system to fully understand it
and try to improve it while keeping full BC.
Joe helped me in this task.
I wrote an RFC giving details about what we have today (
https://wiki.php.net/internals/extensions )The branch can be found here :
https://github.com/jpauli/php-src/tree/extensions_improvementsAs I plan to merge it against master and probably 5.5 (not sure, depend
on
time),From a time point of view, and as RM you know it, I'd to say no for
5.5, too late for such changes.
Yeah, I've been a little bit too hungry for this ;-)
Julien.Pauli