/** 
  * Add a --with configure option
  *
  * @access  public
  * @param   object 'With' object
  * @returns bool
  */
 function addWith(CodeGen_PECL_Dependency_With $with)
 {
     $name = $with->getName();
     if (isset($this->with[$name])) {
         return PEAR::raiseError("--with-{$name} declared twice");
     }
     $this->with[$name] = $with;
     return true;
 }
 function tagstart_deps_with($attr)
 {
     $with = new CodeGen_PECL_Dependency_With();
     if (!isset($attr['name'])) {
         $attr["name"] = $this->extension->getName();
     }
     $err = $with->setName($attr["name"]);
     if (PEAR::isError($err)) {
         return $err;
     }
     if (isset($attr["testfile"])) {
         $with->setTestfile($attr["testfile"]);
     }
     if (isset($attr["defaults"])) {
         $with->setDefaults($attr["defaults"]);
     }
     if (isset($attr["mode"])) {
         $err = $with->setMode($attr["mode"]);
         if (PEAR::isError($err)) {
             return $err;
         }
     }
     $this->pushHelper($with);
     return true;
 }