cvs: php4 /ext/ ext_skel /ext/skeleton/ create_module php_skeleton.h skeleton.c

From: Date: Fri, 09 Jun 2000 03:38:37 +0000
Subject: cvs: php4 /ext/ ext_skel /ext/skeleton/ create_module php_skeleton.h skeleton.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-107@lists.php.net to get a copy of this message
jah Thu Jun 8 20:38:37 2000 EDT Removed files: /php4/ext/skeleton create_module Modified files: /php4/ext ext_skel /php4/ext/skeleton php_skeleton.h skeleton.c Log: - As Sascha requested. Index: php4/ext/ext_skel diff -u php4/ext/ext_skel:1.17 php4/ext/ext_skel:1.18 --- php4/ext/ext_skel:1.17 Sun Apr 30 19:41:33 2000 +++ php4/ext/ext_skel Thu Jun 8 20:38:37 2000 @@ -42,20 +42,28 @@ dnl config.m4 for extension $extname dnl don't forget to call PHP_EXTENSION($extname) +dnl Comments in this file start with the string 'dnl'. +dnl Remove where necessary. This file will not work +dnl without editing. + dnl If your extension references something external, use with: -PHP_ARG_WITH($extname, for $extname support, +dnl PHP_ARG_WITH($extname, for $extname support, dnl Make sure that the comment is aligned: -[ --with-$extname Include $extname support]) +dnl [ --with-$extname Include $extname support]) dnl Otherwise use enable: -PHP_ARG_ENABLE($extname, whether to enable $extname support, +dnl PHP_ARG_ENABLE($extname, whether to enable $extname support, dnl Make sure that the comment is aligned: -[ --enable-$extname Enable $extname support]) +dnl [ --enable-$extname Enable $extname support]) if test "\$PHP_$EXTNAME" != "no"; then - dnl Action.. + dnl If you will not be testing anything external, like existence of + dnl headers, libraries or functions in them, just uncomment the + dnl following line and you are ready to go. + dnl AC_DEFINE(HAVE_$EXTNAME, 1, [ ]) + dnl Write more examples of tests here... PHP_EXTENSION($extname, \$ext_shared) fi eof @@ -83,6 +91,15 @@ libs.mk eof +$ECHO_N " $extname.c$ECHO_C" +cat ../skeleton/skeleton.c | sed -e "s/_extname_/$extname/g" | sed -e "s/_EXTNAME_/$EXTNAME/g" > $extname.c + +$ECHO_N " php_$extname.h$ECHO_C" +cat ../skeleton/php_skeleton.h | sed -e "s/_extname_/$extname/g" | sed -e "s/_EXTNAME_/$EXTNAME/g" > php_$extname.h + +$ECHO_N " $extname.php$ECHO_C" +cat ../skeleton/skeleton.php | sed -e "s/_extname_/$extname/g" | sed -e "s/_EXTNAME_/$EXTNAME/g" > $extname.php + chmod 644 * echo " [done]." @@ -92,10 +109,11 @@ To use your new extension, you will have to execute the following steps: $ cd .. + $ vi ext/$extname/config.m4 $ ./buildconf - $ ./configure (your extension is automatically enabled) - $ vi ext/$extname/$extname.c + $ ./configure --[with|enable]-$extname $ make + $ vi ext/$extname/$extname.c Repeat the last two steps as often as necessary. Index: php4/ext/skeleton/php_skeleton.h diff -u php4/ext/skeleton/php_skeleton.h:1.2 php4/ext/skeleton/php_skeleton.h:1.3 --- php4/ext/skeleton/php_skeleton.h:1.2 Thu Jun 8 19:59:47 2000 +++ php4/ext/skeleton/php_skeleton.h Thu Jun 8 20:38:37 2000 @@ -32,7 +32,7 @@ #if HAVE__EXTNAME_ extern zend_module_entry _extname__module_entry; -#define _extname__module_ptr &_extname__module_entry +#define phpext__extname__ptr &_extname__module_entry #ifdef PHP_WIN32 #define PHP__EXTNAME__API __declspec(dllexport) @@ -52,6 +52,12 @@ /* Fill in this structure and use entries in it for thread safety instead of using true globals. */ + /* You can use the next one as type if your module registers any + resources. Oh, you can of course rename it to something more + suitable, add list entry types or remove it if it not needed. + It's just an example. + */ + int le__extname_; } php__extname__globals; /* In every function that needs to use variables in php__extname__globals, @@ -71,11 +77,9 @@ #else -#define _extname__module_ptr NULL +#define php__extname__ptr NULL #endif - -#define phpext__extname__ptr _extname__module_ptr #endif /* _PHP__EXTNAME__H */ Index: php4/ext/skeleton/skeleton.c diff -u php4/ext/skeleton/skeleton.c:1.1 php4/ext/skeleton/skeleton.c:1.2 --- php4/ext/skeleton/skeleton.c:1.1 Thu Jun 8 19:51:43 2000 +++ php4/ext/skeleton/skeleton.c Thu Jun 8 20:38:37 2000 @@ -25,14 +25,8 @@ /* You should tweak config.m4 so this symbol (or some else suitable) gets defined. */ -#if HAVE__EXTNAME_ +#ifdef HAVE__EXTNAME_ -/* Use this for type if your module registers any resources. You can of course - rename it and add more if needed. These can be true globals, they don't need - thread safety. Remove if not needed. -*/ -static int le_extname_; - #ifdef ZTS int _extname__globals_id; #else @@ -131,7 +125,8 @@ /* }}} */ /* The previous line is meant for emacs, so it can correctly fold and unfold functions in source code. See the corresponding marks just before function - definition, where the functions purpose is also documented. + definition, where the functions purpose is also documented. Please follow + this convention for the convenience of others editing your code. */ #endif /* HAVE__EXTNAME_ */

« previous php.cvs (#107) next »