Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:67090 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 55147 invoked from network); 16 Apr 2013 17:07:25 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Apr 2013 17:07:25 -0000 Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.171 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 209.85.220.171 mail-vc0-f171.google.com Received: from [209.85.220.171] ([209.85.220.171:33646] helo=mail-vc0-f171.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id FF/A0-50422-C458D615 for ; Tue, 16 Apr 2013 13:07:24 -0400 Received: by mail-vc0-f171.google.com with SMTP id ha12so598326vcb.30 for ; Tue, 16 Apr 2013 10:07:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:sender:from:date:x-google-sender-auth :message-id:subject:to:content-type; bh=bcXIgJRVucc2dMn/w2BzRmgIMJAqFQOVCTNo7M9+wqQ=; b=fBTj88F+1XQhx6pTcU7SDFk6r1LNlP5V8N0yydRy0AtHDSVq6/x+fEleO1dGpUvLCD 1bVX2wniguR1CulzA0EbnnOfxGUClZ0svFUJtp3s0winQ9Ol73wTC1dQw0ZtZu+4ROkL F1UpvkAX9qBDYDLx38hmr/o16+1NrAxXTnHuCtgZi6hBVXetZaQANhsUDn7QQ46uOOFr ehVt4FMSFuwKPe1AmnzLSiWme5Eb843+e5rpNI1iKo78nXakcHUDYO3kM9ywvwmdVsk1 VOvVUPpv8JudgALcjmzHE0m06U95pZQaa244JNm++c2bmN0VFnOUQzLAe1vxiX7i0rnI 6xSg== X-Received: by 10.220.91.17 with SMTP id k17mr2219818vcm.36.1366132041535; Tue, 16 Apr 2013 10:07:21 -0700 (PDT) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.221.9.133 with HTTP; Tue, 16 Apr 2013 10:06:41 -0700 (PDT) Date: Tue, 16 Apr 2013 19:06:41 +0200 X-Google-Sender-Auth: eLIysZDvYBunW5LOO_1ChJt4P7A Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary=047d7b33d9e20d57c904da7d675f Subject: WIP on extension loading improvement From: jpauli@php.net (Julien Pauli) --047d7b33d9e20d57c904da7d675f Content-Type: text/plain; charset=ISO-8859-1 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 --047d7b33d9e20d57c904da7d675f--