function idl_format_cpp_header($header) { global $preamble, $funcs, $constants, $classes, $PREFIX, $NAME; ($f = fopen($header, 'w')) || die("cannot open {$header}"); fprintf($f, <<<EOT #ifndef incl_{$PREFIX}_{$NAME}_H_ #define incl_{$PREFIX}_{$NAME}_H_ #include "hphp/runtime/base/base-includes.h" EOT ); if (isset($preamble)) { fprintf($f, $preamble); } fprintf($f, <<<EOT namespace HPHP { /////////////////////////////////////////////////////////////////////////////// EOT ); foreach ($funcs as $func) { generateFuncCPPHeader($func, $f); } foreach ($constants as $const) { generateConstCPPHeader($const, $f); } foreach ($classes as $class) { generateClassCPPHeader($class, $f); } fprintf($f, <<<EOT /////////////////////////////////////////////////////////////////////////////// } #endif // incl_{$PREFIX}_{$NAME}_H_ EOT ); fclose($f); }
} fprintf($f, <<<EOT #include <runtime/base/base_includes.h> namespace HPHP { /////////////////////////////////////////////////////////////////////////////// EOT ); foreach ($funcs as $func) { generateFuncCPPHeader($func, $f); } foreach ($constants as $const) { generateConstCPPHeader($const, $f); } foreach ($classes as $class) { generateClassCPPHeader($class, $f); } fprintf($f, <<<EOT /////////////////////////////////////////////////////////////////////////////// } #endif // __EXT_{$NAME}_H__ EOT ); fclose($f); }