public static function createPeclExtension($packageName, $packageXmlPath)
{
$parser = new PackageXmlParser();
$package = $parser->parse($packageXmlPath);
$ext = new PeclExtension($packageName);
$ext->setPackage($package);
/*
* xhprof stores package.xml in the root directory, but putting the
* config.m4 in the extension directory.
* the path can be retrieve from the contents part from the package.xml
*/
if ($m4path = $ext->findConfigM4FileFromPackageXml()) {
$sourceDirectory = dirname($packageXmlPath);
$m4dir = dirname($m4path);
if ($m4dir != '.') {
$sourceDirectory .= DIRECTORY_SEPARATOR . $m4dir;
}
$ext->setSourceDirectory($sourceDirectory);
} else {
$ext->setSourceDirectory(dirname($packageXmlPath));
}
return $ext;
}