Home » Tools and Utilities » CodeGen_PECL
Tool to generate PECL extensions from an XML description
This package is unmaintained.
Download latest release 1.1.3 (archived versions might be outdated)
License: PHP
Description
CodeGen_PECL (formerly known as PECL_Gen) is a pure PHP replacement
for the ext_skel shell script that comes with the PHP 4 source.
It reads in configuration options, function prototypes and code fragments
from an XML description file and generates a complete ready-to-compile
PECL extension.
Maintainers
- Hartmut Holzgraefe (hholzgra) — lead, active
- Rasmus Lerdorf (rasmus) — contributor, active
- Carsten Lucke (luckec) — contributor, active
- Pierre-Alain Joye (pajoye) — helper, active
- Johann Peter Hartmann (hartmann) — helper, active
Dependencies
Required
Releases
- 1.1.3 (stable, 2010-09-27)
Release notes
License: PHP
Changes since 1.1.2:
- support "if" attribute in <constant>
- changed generated docs to new docs structure
- changed generated version information to match PECL proposal
- pecl-gen script can now also be invoked on windows
- passing array and mixed by reference now works
- class constant registration now uses Zend API convenience functions
- improved #line directive support (but still work in progress)Bug fixes:
- Bug #13502 <maintainers> tag no longer works
- Bug #13531 nested <group> tags confuse the XML parser
- Bug #13639 "codeGen for zend_register_internal_class_ex not working" - 1.1.2 (stable, 2008-03-04)
- 1.1.1 (stable, 2008-03-04)
Release notes
License: PHP
Changes since 1.1.0:
- added appropriate ZEND_ACC_... attributes for __construct/__destruct/__clone
- implemented nested <group> tag support
- add generic "unknown" author if none specified to ensure valid package.xml
- fixed PROP_SET_STRING to actually use the stringl api function instead of the plain string one
- fixed handling of optional parameters in prototypes - 1.1.0 (stable, 2007-08-14)
Release notes
License: PHP
Changes since 1.0.4:
- new function prototype parser
- added PHP version check to config.m4
- functions accepting/returning resources or classes
or using constants for default values now "inherit"
conditional compilation settings from these elements
- disabled output of AC_CHECK_TYPE checks for resource
types due to autoconf version conflicts
- varargs support - 1.0.3 (stable, 2006-08-16)
Release notes
License: PHP
Changes since 1.0.2:
- fixed CodeGen dependency entry
- disabled #line output by default - 1.0.1 (stable, 2006-08-14)
Release notes
License: PHP
Changes since 1.0.0:
- now using codegen helper object for indent and code blocks
- updated the DTD
- added DOCTYPE specs to all examples
- package.xml 1.0 OS dependencies generation fixed
- some config.m4 generation stuff ended up in CodeGen, now moved back
- added config.m4 checks for header files
- added new interface CodeGen_PECL_Element_ObjectInterface for methods
that can take both Classes and Interfaces as argument
- fixed typo in class payload constructor code generation
- allow :: in names when using C++ only
- use PHP_MALIAS instead of PHP_FALIAS for methods
- improved attribute checking in XML parser
- pear channel support
- pkg-config support in --with options
- started support for arg_info and pass/return by reference (work in progress) - 1.0.0 (stable, 2006-02-17)
Release notes
License: PHP
1.0.0 stable release (finally)
- 1.0.0rc1 (beta, 2005-09-22)
Release notes
License: PHP
I'm feature-complete for a 1.0 release now :)
- object store support for private C/C++ data in objects
- <lib> and <header> tags within <with>
- interface and type hints support
- added a lint option (-l) for syntax checking of spec files
- write to tmpfiles first, only overwrite -> done
existing files if actual changes are
detected, preserve unchanged files
(to make "make" happy)- changed names of variables generated for resource parameters,
backwards compatibility is provided by checking the extension
tags version attribute, for versions < 1.0.0dev the old naming
stile is used- added test generation for class member functions
- 0.9.0 (beta, 2005-08-12)
Release notes
License: PHP
Milestone 0.9
-------------- copy <changelog> to generated package.xml - done
- rewrite the function prototype parser
- object type specification (as in resources) - done
- default values - done
- 'void' treatment - done
- '...' not handled - done
- array() as default value - done
- code generation for 'pass by refecence' - for zval based types yet
- '...' code generation - if first parameter yetFREE_RESOURCE macro - done
allow defined PHP constants as default value - done
<define> tag -> #define + <constant>? - done
allow for embedded base64 or uu encoded logo specs - done
changeable function prefix? - done
trick parser to verbatim pass on docbook contentent - done
add configure compile test for <resource> -done
to check whether a given payload is a valid type?SYSTEM Entity and XInclude support - done
support for multiple <with> tags with distinct
names, name defaults to extension name if not given - doneadded version attribute to <extension>
to control parser features (replaces -x switch) - donesupport <?code ... ?> as alternative to CDATA - done
check whether <header> checks work - done
test files are not yet added to package.xml - done
documentation up to date for all 0.9 features - done
examples and test cases added - done
- 0.9.0rc5 (beta, 2005-08-04)
Release notes
License: PHP
- implemeted new proto parser, activate with --experimental
Bugs
| ID | Status | Type | Version | Date | Summary |
|---|---|---|---|---|---|
| #5148 | Closed | Bug | 2005-08-18 | In CodeGen_PECL_Command set_role() is called instead of setRole() | |
| #5150 | Closed | Bug | 2005-08-18 | CodeGen_PECL_ExtensionParser is missing methods | |
| #5157 | Closed | Bug | 2005-08-20 | Global var initializiation doesn't work. | |
| #5167 | Closed | Bug | 2005-08-21 | No taghandler for changelog :: release | |
| #5516 | Closed | Bug | 2005-09-25 | Invalid access to protected property CodeGen_PECL_Release::$state | |
| #5592 | Closed | Bug | 2005-10-03 | extskel compatibility broken in CVS | |
| #7503 | Bogus | Bug | 1.0.0 | 2006-04-27 | no matching tag handler for extension:class:method |
| #7647 | Closed | Bug | 1.0.0 | 2006-05-17 | Call-time pass-by-reference |
| #8107 | Closed | Bug | 1.0.0 | 2006-07-03 | Bug in Class Constructor Set in Class.php |
| #8621 | Assigned | Bug | 1.0.3 | 2006-09-02 | Prototype parsing - pass by reference |
| #9852 | Closed | Bug | CVS | 2007-01-17 | Extra ] in generated config.w32 |
| #10608 | Closed | Doc | 1.0.3 | 2007-04-04 | End-user Documentation don't exist |
| #10613 | Assigned | Req | 1.0.3 | 2007-04-04 | patches to add a attribute 'throws' to a function element |
| #11568 | Closed | Req | 1.0.3 | 2007-07-09 | classes and intfaces definitions in PHP_MINIT_FUNCTION |
| #11626 | Closed | Bug | 2007-07-17 | dependency specifies strict dep on CodeGen = 1.0.2 | |
| #11627 | Duplicate | Bug | 1.0.3 | 2007-07-17 | dependency specifies strict dep on CodeGen = 1.0.2 |
| #11628 | Duplicate | Bug | 1.0.3 | 2007-07-17 | dependency specifies strict dep on CodeGen = 1.0.2 |
| #12430 | Closed | Bug | 1.1.0 | 2007-11-12 | PROP_SET_STRINGL broken |
| #12998 | Closed | Doc | CVS | 2008-01-29 | Some typos on manual |
| #13008 | Open | Req | 1.1.0 | 2008-01-30 | No encoding option |
| #13009 | Closed | Bug | 1.1.0 | 2008-01-30 | Test function for external library can't work |
| #13502 | Closed | Bug | 1.1.2 | 2008-03-26 | <maintainers> tag no longer works |
| #13503 | Suspended | Bug | 1.1.2 | 2008-03-26 | "make test" won't work if php.ini loads extensions |
| #13526 | Assigned | Bug | CVS | 2008-03-28 | embedding DocBook XML in <description> no longer works |
| #13531 | Closed | Bug | 1.1.2 | 2008-03-29 | nested <group> tags confuse the XML parser |
| #13639 | Closed | Bug | 1.1.2 | 2008-04-10 | codeGen for zend_register_internal_class_ex not working |
| #15208 | Open | Req | 1.1.2 | 2008-12-02 | Return type doesn't allow var name |
| #15209 | Open | Bug | 1.1.2 | 2008-12-02 | Property for classes could not be mixed or object |
| #16011 | Closed | Bug | 1.1.2 | 2009-03-10 | improper handling of array in proto |
| #16012 | Closed | Bug | 1.1.2 | 2009-03-10 | proto doesn't support array properly when optional |
| #16013 | Closed | Bug | 1.1.2 | 2009-03-10 | proto doesn't support array properly when optional |
| #18475 | Open | Bug | 1.1.3 | 2011-04-24 | resources in parameters don't work |
| #18718 | Open | Bug | 1.1.3 | 2011-08-11 | Issue with manual generation |
| #19347 | Bogus | Bug | 2012-03-25 | Angosso | |
| #19593 | Closed | Bug | SVN | 2012-08-31 | Still using function_entry in one point breaks extension compile against 5.4.x |
| #19660 | Closed | Bug | 1.1.3 | 2012-10-20 | Extension with conditional compilation of global constants won't compile |
| #20277 | Open | Req | 1.1.3 | 2014-05-21 | input stream resource do not convert php_stream |
| #21067 | Open | Req | 1.1.3 | 2016-05-26 | Package a new version? |