cvs: php4 /ext/ ext_skel /ext/skeleton/ create_module php_skeleton.h skeleton.c
| From: | Jouni Ahto | 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_ */