cvs: php4 /scripts/ext_skel_ng extension_parser.php

From: Date: Wed, 23 Apr 2003 16:38:22 +0000
Subject: cvs: php4 /scripts/ext_skel_ng extension_parser.php
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-20452@lists.php.net to get a copy of this message
hholzgra Wed Apr 23 12:38:22 2003 EDT Modified files: /php4/scripts/ext_skel_ng extension_parser.php Log: reorganized code generation - source file includes generated header only, generated header includes anything else and is able to prepend include statements to files that need to be included *before* any php delivered header files - 'private' functions are now moved up in the generated source file so we do not add extra C protos for them before use Index: php4/scripts/ext_skel_ng/extension_parser.php diff -u php4/scripts/ext_skel_ng/extension_parser.php:1.16 php4/scripts/ext_skel_ng/extension_parser.php:1.17 --- php4/scripts/ext_skel_ng/extension_parser.php:1.16 Wed Apr 23 12:34:30 2003 +++ php4/scripts/ext_skel_ng/extension_parser.php Wed Apr 23 12:38:22 2003 @@ -588,6 +588,40 @@ fputs($fp, "#ifndef PHP_HAVE_{$upname}\n\n"); + if(isset($this->headers)) { + foreach($this->headers as $header) { + if (@$header["prepend"] === "yes") { + fputs($fp, "#include <$header[name]>\n"); + } + } + } + + fputs($fp, ' +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <php.h> +#include <php_ini.h> +#include <SAPI.h> +#include <ext/standard/info.h> + +'); + + if(isset($this->headers)) { + foreach($this->headers as $header) { + if (@$header["prepend"] !== "yes") { + fputs($fp, "#include <$header[name]>\n"); + } + } + } + + if(isset($this->code["header"])) { + foreach($this->code["header"] as $code) { + fputs($fp, $code); + } + } + fputs($fp, " extern zend_module_entry {$this->name}_module_entry; #define phpext_{$this->name}_ptr &{$this->name}_module_entry @@ -825,7 +859,7 @@ $code = ""; foreach($this->functions as $function) { - $code .= $function->c_code(); + $code .= $function->c_code(&$this); } return $code; @@ -846,17 +880,6 @@ fputs($fp, $this->get_license()); - fputs($fp, ' -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <php.h> -#include <php_ini.h> -#include <SAPI.h> -#include <ext/standard/info.h> - -'); fputs($fp, "#include \"php_{$this->name}.h\"\n\n"); if (isset($this->logo)) { @@ -867,6 +890,8 @@ fputs($fp, "ZEND_DECLARE_MODULE_GLOBALS({$this->name})\n\n"); } + fputs($fp, $this->private_functions_c()); + if (!empty($this->resources)) { foreach ($this->resources as $resource) { fputs($fp, $resource->c_code()); @@ -888,8 +913,6 @@ fputs($fp, "/* }}} */\n\n"); fputs($fp, $this->internal_functions_c()); - - fputs($fp, $this->private_functions_c()); fputs($fp, $this->public_functions_c());

« previous php.cvs (#20452) next »