| // | Tomas V.V.Cox | // | | // +----------------------------------------------------------------------+ // // $Id$ require_once "PEAR/Command/Common.php"; require_once "PEAR/Builder.php"; /** * PEAR commands for building extensions. * */ class PEAR_Command_Build extends PEAR_Command_Common { // {{{ properties var $commands = array( 'build' => array( 'summary' => 'Build an Extension From C Source', 'function' => 'doBuild', 'shortcut' => 'b', 'options' => array(), 'doc' => '[package.xml] Builds one or more extensions contained in a package.' ), ); // }}} // {{{ constructor /** * PEAR_Command_Build constructor. * * @access public */ function PEAR_Command_Build(&$ui, &$config) { parent::PEAR_Command_Common($ui, $config); } // }}} // {{{ doBuild() function doBuild($command, $options, $params) { if (sizeof($params) < 1) { $params[0] = 'package.xml'; } $builder = &new PEAR_Builder($this->ui); $this->debug = $this->config->get('verbose'); $err = $builder->build($params[0], array(&$this, 'buildCallback')); if (PEAR::isError($err)) { return $err; } return true; } // }}} // {{{ buildCallback() function buildCallback($what, $data) { if (($what == 'cmdoutput' && $this->debug > 1) || ($what == 'output' && $this->debug > 0)) { $this->ui->outputData(rtrim($data), 'build'); } } // }}} }