Hi PHP Experts,
I'm a newbie to this developer mailing list. I've had considerable
experience in PHP and C. Now I want to contribute to PHP development.
I'm going through Zend API.
could anyone pls tell me how to became a active developer, and where to
specify our topic of contribution.
Even little help considered worth.
Thanks in Advance
On Thu, 7 Mar 2002, Brian Foddy wrote:
Sascha Schumann wrote:
Extension developers:
Makefile.ins are abandoned. The files which are to be compiled
are specified in the config.m4 now using the following macro:
PHP_NEW_EXTENSION(foo, foo.c bar.c baz.cpp, $ext_shared)
E.g. this enables the extension foo which consists of three source-code
modules, two in C and one in C++. And dependending on the user's
wishes, the extension will even be built as a dynamic module.
The full syntax:
PHP_NEW_EXTENSION(extname, sources [, shared [,sapi_class[, extra-cflags]]])
Please have a look at acinclude.m4 for the gory details and meanings
of the other parameters.
And that's basically it for the extension side.
If you previously built sub-libraries for this module, add
the source-code files here as well. If you need to specify
separate include directories, do it this way:
PHP_NEW_EXTENSION(foo, foo.c mylib/bar.c mylib/gregor.c,,,-I@ext_srcdir@/lib)
E.g. this builds the three files which are located relative to the
extension source directory and compiles all three files with the
special include directive (@ext_srcdir@ is automatically replaced).
Now, you need to tell the build system that you want to build files
in a directory called $ext_builddir/lib:
PHP_ADD_BUILD_DIR($ext_builddir/lib)
Make sure to call this after PHP_NEW_EXTENSION, because $ext_builddir
is only set by the latter.
If you have a complex extension, you might to need add special
Make rules. You can do this by calling PHP_ADD_MAKEFILE_FRAGMENT
in your config.m4 after PHP_NEW_EXTENSION.
This will read a file in the source-dir of your extension called
Makefile.frag. In this file, $(builddir) and $(srcdir) will be
replaced by the values which are correct for your extension
and which are again determined by the PHP_NEW_EXTENSION macro.
Make sure to prefix *all* relative paths correctly with either
$(builddir) or $(subdir). Because the build system does not
change the working directory anymore, we must use either
absolute paths or relative ones to the top build-directory.
Correct prefixing ensures that.
I think I'm following this, but let me stress as the developer
of php-tuxedo (http://php-tuxedo.sourceforge.net) that its getting more
and more likely that PHP will be linking in complex libraries
(includes and libs) perhaps not in the original PHP distribution.
Another thing I've seen in my project is that the exact libraries
Tuxedo requires vary from Tuxedo version to version. So capabilities
to have the make process perform some dynamic adjustments would be
nice. I think its just I need to get better at m4, but I haven't
invested the time yet.
Overall, I like the goals you outlined and your results look promising.
Brian
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php
[EMAIL PROTECTED]
---
We must use time wisely and forever realize that the time is
always ripe to do right.
-- Nelson Mandela
---
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, visit: http://www.php.net/unsub.php