extsrcrelease and extbinrelease changes for PECL developers

extsrcrelease and extbinrelease changes for PECL developers – PECL-specific details of package.xml 2.0

Special extension package tags

Most of the tags for PECL-style PHP extension releases are identical to those for PEAR-style PHP script releases. There are a few extsrc/extbin-specific tags that all PECL developers must know about.

PECL extsrc/extbin-specific tags in package.xml 2.0
Tag Description of usage
<providesextension> The <providesextension> tag must be right after <dependencies>. This tag tells the installer the name of the extension provided by the package, allowing different package names from the extension. This could be important for binary packages (such as PDO and PDO_windows or something along those lines).
<providesextension>PDO</providesextension>
<srcpackage> or <srcuri> <srcpackage> or <srcuri> must follow <providesextension>. Extension binary packages must define either a <srcpackage> tag (for package.xml containing <channel>) or a <srcuri> tag (for package.xml containing <uri>).
<name>PDO_windowsbin</name>
<channel>pecl.php.net</channel>
<!-- snip -->
<providesextension>PDO</providesextension>
<srcpackage>PDO</srcpackage>
or,
<name>Foo_windowsbin</name>
<uri>http://www.example.com/Foo_windowsbin-1.5.0.tgz</uri>
<!-- snip -->
<providesextension>Foo</providesextension>
<srcuri>http://www.example.com/Foo-1.5.0.tgz</srcuri>
<configureoption> The <configureoption> tag is used to ask a user a specific question, which is then used to influence the building of the extension. Any configure option beginning with "with" is assumed to be a question about enabling a feature. Other options have the user's response automatically passed to configure. The following configureoptions:
<configureoption name="with-blah" prompt="enable blah?" default="yes"/>
<configureoption name="foo" prompt="what foo to use?" default="bar"/>
will generate a configure line similar to:
--with-blah --foo=bar
if the user accepts the default values.