Commit Graph

210 Commits

Author SHA1 Message Date
Hartmut Holzgraefe
bad4e6c3d7 doing the trick like in extension_parser.php 2003-05-20 14:02:12 +00:00
Hartmut Holzgraefe
b3562b9bd9 - experimental streams support
- more file types: conf and doc
- requirements/install/configure documentation in configure.xml
- auto-generated PEAR/PECL package.xml files
- auto-generated CREDITS file
- auto-generated EXPERIMENTAL file if release state != stable
- beginning support for test file generation
2003-05-20 13:51:29 +00:00
Hartmut Holzgraefe
6c074dfb7c example for "stream" as parameter and return type 2003-05-20 13:47:31 +00:00
Hartmut Holzgraefe
c9744519cd no RCS keyword expansion in template, 2nd try 2003-05-20 13:46:02 +00:00
Hartmut Holzgraefe
2f31208beb - new method to generate test cases for functions
- beginning support for "pass by reference" parameters
2003-05-20 13:43:43 +00:00
Hartmut Holzgraefe
450d46ce4f just a method name change 2003-05-20 13:42:04 +00:00
Hartmut Holzgraefe
5e3b5bce0a additional tags for experimental streams support 2003-05-20 13:40:21 +00:00
Hartmut Holzgraefe
488363b657 create CREDITS, package.xml and maybe EXPERIMENTAL files
create tests
2003-05-20 13:39:35 +00:00
Hartmut Holzgraefe
123ac00a0f updated TODOs 2003-05-20 13:38:08 +00:00
Sascha Schumann
444d769bd3 MFB move awk detection 2003-05-19 01:44:40 +00:00
Hartmut Holzgraefe
5c782a6f50 'stream' parameter support in proto parser and code generation 2003-05-09 12:11:01 +00:00
Hartmut Holzgraefe
78eeccb798 new proto data type: stream 2003-05-09 12:01:21 +00:00
Hartmut Holzgraefe
a874c33eb1 more todo items 2003-05-08 11:16:42 +00:00
Hartmut Holzgraefe
8c6a712a65 unfinished work towards towards refactoring of extension_parser.php 2003-05-06 16:55:20 +00:00
Hartmut Holzgraefe
30ff14a2fc add 'extern "C"' where needed for C++
(TODO: shouldn't this be done in the appropriate php headers
and Zend macros themselves?)
2003-05-06 16:53:18 +00:00
Hartmut Holzgraefe
f4e89c56ab stupido :( 2003-05-06 16:51:09 +00:00
Hartmut Holzgraefe
249d85b2b0 - make sure we are running on PHP 5
- prevent warnings if no known license given
2003-05-06 16:50:39 +00:00
Hartmut Holzgraefe
93894a4e21 new TODO iten: specify "pass by reference" in protos 2003-05-06 16:48:10 +00:00
Hartmut Holzgraefe
91ab37755f - more code moved to the appropriate php_*.php helper classes
- support for different licenses using the new license classes
- support for platform dependant library dependencies
- coding style/whitespace changes
2003-04-26 16:20:59 +00:00
Hartmut Holzgraefe
2bf4b3f293 constructor proto change 2003-04-26 16:08:48 +00:00
Hartmut Holzgraefe
67df62c0b1 cmdline parameter parsing improved
uses license classes to write LICENSE file
config.m4 and *.dsp file are only written if their platform is supported
2003-04-26 15:54:50 +00:00
Hartmut Holzgraefe
545022872d constructor prototype changed
code and documentation header and footer for constants block
now generated by static class methods
2003-04-26 15:42:59 +00:00
Hartmut Holzgraefe
ac22872006 better 'name' regex 2003-04-26 15:34:10 +00:00
Hartmut Holzgraefe
5b665eb367 php 5 constructor style and whitespace 2003-04-26 15:27:28 +00:00
Hartmut Holzgraefe
f8f4e04909 support arrays of error messages in addition to single strings
use PHP 5 style __constructor
2003-04-26 15:20:18 +00:00
Hartmut Holzgraefe
5e5ddac9f1 use PHP 5 style constructor
plus whitespace/coding style changes
2003-04-26 15:15:28 +00:00
Hartmut Holzgraefe
76d82c53bb module global variables and ini parameters now have
their own generator classes
2003-04-26 15:05:01 +00:00
Hartmut Holzgraefe
ddefccd04a license comment headers and license files are now created
by seperate classes for each license
2003-04-26 15:01:31 +00:00
Hartmut Holzgraefe
8314828451 platform specification now possible for libraries and extension 2003-04-26 14:58:37 +00:00
Hartmut Holzgraefe
e5d762f9ff whitespace changes in generated code 2003-04-24 18:04:17 +00:00
Hartmut Holzgraefe
28f39fba95 <![CDATA[ generates additional linefeeds?
-> trim these ...
2003-04-24 18:03:12 +00:00
Hartmut Holzgraefe
580115b589 use PEAR::System instead of system() to remove directories
... plus some whitespace/indent changes :/
2003-04-24 18:01:57 +00:00
Hartmut Holzgraefe
084c6c0d15 todo list update 2003-04-24 18:00:49 +00:00
Hartmut Holzgraefe
c9b4c8f85b config.m4 generation revisited 2003-04-23 16:40:52 +00:00
Hartmut Holzgraefe
7c220887fa parse <deps> content 2003-04-23 16:39:50 +00:00
Hartmut Holzgraefe
da57d29526 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
2003-04-23 16:38:22 +00:00
Hartmut Holzgraefe
9736a76171 make sure .dsp files have DOS line endings when generated on Unix 2003-04-23 16:34:30 +00:00
Hartmut Holzgraefe
7fd32f3632 don't forget to add the function list delimiter entry ... :/ 2003-04-23 16:32:11 +00:00
Hartmut Holzgraefe
587e7dd693 documentation generation improvements 2003-04-23 16:29:32 +00:00
Hartmut Holzgraefe
12241236bb version number and copyright year update 2003-04-23 16:27:36 +00:00
Hartmut Holzgraefe
d3b94f4bd1 required ext. header files may be specified in <deps> 2003-04-23 16:24:24 +00:00
Hartmut Holzgraefe
18829205ca enable resource lookup by name 2003-04-23 16:20:48 +00:00
Hartmut Holzgraefe
c1fb09e34e Resource handling fixed and improved:
- resources may have an additional type specifier in prototypes
- the 'alloc' attribute specifies whether to emalloc/efree
  the resource payload in generated code or not

Example code generation for function return types

Small docbook generation fixes in function documentation
2003-04-23 16:19:08 +00:00
Hartmut Holzgraefe
e52ba40084 start to parse the <deps> tag -> support both C and C++ extensions 2003-04-23 16:09:23 +00:00
Hartmut Holzgraefe
31d5ab51b0 Project programming language may be specified in <deps> tag
for now only 'c' and 'cpp' for c++ are supported
2003-04-23 15:55:00 +00:00
Hartmut Holzgraefe
c75f3e6e88 protect string from CVS keyword expansionCVS: ---------------------------------------------------------------------- 2003-03-20 20:20:37 +00:00
Hartmut Holzgraefe
4cb4676ac9 docbook fixes 2003-03-15 22:38:01 +00:00
Hartmut Holzgraefe
9b178b52ee thinko fix to kill warnings 2003-03-15 22:37:03 +00:00
Hartmut Holzgraefe
bd43d88905 docbook typo fix 2003-03-15 22:35:34 +00:00
Hartmut Holzgraefe
e2b1372088 make sure the function name in the proto matches the function 2003-03-15 22:34:32 +00:00
foobar
3c9155e0cb Renamed OnUpdateInt -> OnUpdateLong to prevent further misunderstandings.
# Intentionally left out any 'alias' for it, this way 3rd party extension
# maintainers will really NOTICE the change.
2003-03-07 05:15:28 +00:00
Wez Furlong
57f114969a Add streams headers to those used for shared extensions. 2003-03-01 13:52:11 +00:00
Hartmut Holzgraefe
5810393142 callbacks are now supported
(although there's still room for improvements)
2003-02-28 10:30:40 +00:00
Hartmut Holzgraefe
40a3530d8e - support for "callback" type
- proto syntax errors are now passed back to the top level parser
2003-02-28 06:37:05 +00:00
Hartmut Holzgraefe
e9787cd2fd support for passing description file name on command line 2003-02-28 06:33:07 +00:00
Hartmut Holzgraefe
86572bd830 "on line #", not "in line #" 2003-02-28 06:30:59 +00:00
Hartmut Holzgraefe
06e43b97a8 added "callback" type (and fixed a stupid typo) 2003-02-28 06:28:53 +00:00
Hartmut Holzgraefe
b042f45465 some DTD fixes and <code> as a toplevel element for .c and .h code snippets 2003-02-28 06:28:14 +00:00
Hartmut Holzgraefe
f7490c405b forgot to add these two on my last commit :( 2003-02-26 10:06:47 +00:00
Hartmut Holzgraefe
edbc369721 - code generation: resources and phpinfo logo
- duplicate code elimination for prototype parsing
- improved phpinfo block (incl. logo)
- some input error checking
- documentation generation for ini-directives, constants
  and resources
2003-02-24 10:57:48 +00:00
Hartmut Holzgraefe
30212544c3 put constants into C output
do not limit int constants to numbers, C #defines are ok as strings
foobar(void) needs special treatment in code generation
2003-02-20 15:19:14 +00:00
Hartmut Holzgraefe
843e3449cf code for the special functions MINIT, MSHUTDOWN, RINIT, RSHUTDOWN, MINFO
and for private internal C helper functions may now be embedded into
the XML specification
2003-02-19 16:02:45 +00:00
Hartmut Holzgraefe
f7d6212b9c test specifications for MINIT and friends 2003-02-19 14:50:43 +00:00
Hartmut Holzgraefe
714a6d727e <code> inside <function> was supported but missing from the DTD,
added "role" attribute to support "internal" functions like
MINIT and stuff, "private" C functions not to be published as
PHP functions and "public" implemenations of PHP functions
2003-02-19 14:48:17 +00:00
Hartmut Holzgraefe
889bb70a3f Microsoft Developer Studio project file (.dsp) generation added
for now both config.m4 and .dsp files are generated for the simples
case only (one .c file, one .h file, no external dependencies)
2003-02-19 10:12:28 +00:00
Hartmut Holzgraefe
1dc3726ff2 next generation ext_skel script - initial checkin 2003-02-19 10:07:22 +00:00
foobar
20c43285f7 - Fixed bug: #13561 (--without-pear prevents install of phpize, php-config) 2003-01-28 10:59:12 +00:00
Derick Rethans
32254e0938 - Remove double "Win32 COM" functions line 2003-01-03 10:48:38 +00:00
foobar
11a1519e51 - Add one 'level' more (0 first, 9 last)
# Sascha, maybe we should use that apache2 config-stubs instead?
2002-10-21 03:07:23 +00:00
Jason Greene
94e6810a2a Ignore extensions/sapis named skeleton 2002-03-13 18:39:42 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Sebastian Bergmann
38933514e1 Update headers. 2001-12-11 15:32:16 +00:00
Jeroen van Wolffelaar
d85b39e532 Typo 2001-09-26 09:11:49 +00:00
Jeroen van Wolffelaar
6a8a5767c2 4rd run... now also var.Z_* 2001-09-26 08:53:37 +00:00
Jeroen van Wolffelaar
b0468809ff Now fixes virtually everything.
Sorry, but I assumed that the original script was correct. Unfortunately, that
wasn't the case.
2001-09-26 08:32:55 +00:00
Jeroen van Wolffelaar
f9d71bc3fb And now correctly... and up until 3 levels 2001-09-26 07:58:32 +00:00
Jeroen van Wolffelaar
fe000a7391 This fixes most var->Z_* problems 2001-09-26 07:55:13 +00:00
Jeroen van Wolffelaar
0ddd124d1d Should've used my own script... 3rd try. 2001-09-25 22:34:57 +00:00
Jeroen van Wolffelaar
eb9390771c Just in case... 2001-09-25 16:06:39 +00:00
Jeroen van Wolffelaar
ab0acab993 Enhance to also process objects, and be more verbose 2001-09-25 15:57:58 +00:00
Zeev Suraski
25394d7c0a Whitespace 2001-08-11 20:18:22 +00:00
Sascha Schumann
7566cf7f27 Fix special treatment of zlib by introducing the Apache concept
of config.m4 hierarchies.
2001-05-11 20:09:31 +00:00
Andi Gutmans
eb6ba01d1c - Fix copyright notices with 2001 2001-02-26 06:11:02 +00:00
Hartmut Holzgraefe
c534109bce filename wildcards in a c comment were a bad idea 2000-11-23 06:58:14 +00:00
Hartmut Holzgraefe
e3dae1013d added a "DO NOT EDIT!" header and regenerated the credits_*h files 2000-11-22 23:20:35 +00:00
Hartmut Holzgraefe
e7101eb193 this little scripts will collect the CREDITS files from
all the ext/ and sapi/ subdirectories and put them all
together into ext/standard/credit_[ext|sapi].h
2000-11-22 22:53:33 +00:00
Sascha Schumann
8dad7a5cab A little script for converting source files to the Z_* macros 2000-09-06 14:12:53 +00:00
Sascha Schumann
9c86c11abf These scripts are not in use anymore. RIP. 2000-08-24 13:26:58 +00:00
Stig Bakken
1cb0d88186 Decent configure speedup. Makefiles are now generated only for the
extensions you are including.  Got rid of configure.in.in.
Moved the last Apache-specific files into sapi/apache and made both
static and DSO build work again (it still doesn't run properly).
1999-09-29 15:17:02 +00:00
Stig Bakken
2a854ca8b9 Generalized server-API build process on UNIX. Each SAPI
implementation now has its own directory under sapi/, just like
extensions have theirs under ext/.  To make the final targets appear
in the main dir, the top-level Makefile includes sapi/NN/Makefile.inc
from the selected sapi backend.  This is a plan Makefile stub without
any autoconf substitutions.  Each SAPI backend also has its own
config.m4 like extensions (read at the end of diversion 2) and
config.h.stub files.

Each SAPI backend has to contain:

config.m4: just like for extensions, this file contains
autoconf/automake directives that end up in the configure script.  The
only difference is that the sapi config.m4 files are read in diversion
(output block) 2 instead of 3.  The sapi config.m4 files should set
two variables: PHP_SAPI (which sapi backend to choose) and SAPI_TARGET
(the name of the resulting library or program, previously BINNAME).
If they are not specified, they will default to "cgi" and "php",
respectively.

Makefile.inc: has to exist, has to define "INSTALL_IT" to the command
used to install the final target (or ":" for no operation).  It also
has to define a plain Makefile rule (without autoconf substitutions)
to build $(SAPI_TARGET)

Makefile.am: just what you think.  Make sure your target is called
"libphpsapi_NNN.a", where NNN is the value of PHP_SAPI.

Some testing and fixing probably remains.  To make everything hang
together, I've done some ugly tricks that I can imagine causing some
problems.  I've built and run the CGI version and built the Apache
DSO.
1999-09-27 16:34:28 +00:00
Zeev Suraski
125300b563 Fix&improve conversion scripts 1999-08-07 15:31:57 +00:00
Stig Bakken
7c2f1384d4 added workaround for Solaris PIC weirdness.
added RPM spec file for a future "official" RPM, work-in-progress
1999-07-24 19:02:38 +00:00
Andi Gutmans
2a43afd2ce Sooner than you think, Sascha :) 1999-07-15 18:33:41 +00:00
Sascha Schumann
a010baa18d ar t is a little bit noisy on Rhapsody 1999-07-03 17:44:20 +00:00
Sascha Schumann
d57ffd3646 avoid touching libraries which have not changed 1999-06-01 17:53:15 +00:00
Zeev Suraski
873763473f fixes 1999-05-29 15:10:06 +00:00
Stig Bakken
96434e4899 self-contained extensions please :-) 1999-05-27 08:53:21 +00:00
Sascha Schumann
5a4c63db53 this script automatically converts the ugly void php3_... prototypes
to PHP_FUNCTION(...) prototypes. Also kills some unnecessary extern
declarations in front of function prototypes.
1999-05-16 11:14:52 +00:00
Stig Bakken
9a66ffbaee * added --enable-thread-safety switch
* now generating internal_functions.c
1999-05-03 11:11:23 +00:00
Sascha Schumann
ac9c0d03e0 -f tests for plain files only. We need a way to find out whether we could do any damage to existing files. If we cannot write to them, we probably cannot do harmful things hopefully. 1999-04-25 14:08:41 +00:00
Andrey Hristov
ef7a4db341 test -e fails in sh. Used test -f instead. 1999-04-25 00:55:01 +00:00
Sascha Schumann
a156a47187 security check and disclaimer for generated files 1999-04-24 22:16:06 +00:00
Andrey Hristov
4aeb630539 Change cmp'risons to be cross-shell compatible. 1999-04-24 21:21:35 +00:00
Stig Bakken
8335a61d74 merge the object files in a temporary directory 1999-04-21 20:30:47 +00:00
Stig Bakken
02f9dc6460 autoheader must be called after autoconf, automake after autoheader 1999-04-21 13:47:05 +00:00
Stig Bakken
54468d2e75 odbc compiles and runs on UNIX again (tested with Solid 2.3) 1999-04-20 01:03:12 +00:00
Stig Bakken
7d9c4da459 generate acconfig.h from acconfig.h.in and ext/*/config.h.stub 1999-04-19 17:19:37 +00:00
Zeev Suraski
cc5e008b72 * Added buildconf, runs all the scripts necessary to build configure (Stig - if there's any way
to detect whether we need to run 'automake --add-missing', please add it...)
* Make vpath work again
* Minor UNIX bugfixes
1999-04-18 18:06:54 +00:00
Stig Bakken
1e2474b18c Apache module compiles again 1999-04-17 02:01:20 +00:00
Stig Bakken
257de2bade First commit of re-structuring phase one. We have started using automake in
sub-directories and started to move extension code into ext/<name>.  For now,
I have moved the "standard" extension (which is quite a mix of everything
right now) and the GD extension into their own subdirs in ext/.
The configure script now also runs configure in the libzend directory
automatically and makes sure php4 and libzend use the same config.cache file.
To avoid running configure in libzend, use the --no-recursion option.
"make" in php4 also builds libzend now.
The Apache module doesn't compile right now, but a fix for that is
coming up.
1999-04-17 00:37:12 +00:00