Re: Fastcgi module for Apache 2.2

Daniel Smertnig <[email protected]>
Newsgroups gmane.comp.web.fastcgi.devel
Message-ID <[email protected]>
On Wed, Dec 07, 2005 at 08:03:28AM +0100, Daniel Smertnig wrote:
> *If* they are already available in 2.0 checking APACHE2 should be enough.

OK, after some investigation I found out that the "new" (apr_*) symbols
were introduced beginning with 2.0 and that the older symbols were
#defined to the new ones in 2.0. In 2.2 these (previously deprecated)
defines were dropped.

Therefore I believe the simplest/shortest way to make mod_fastcgi work
with 1.3, 2.0 and 2.2 is to reintroduce these defines ourselves when
necessary. The attached patch does this and additionaly fixes a problem
in Makefile.AP2 under 2.2 (still works under 2.0 though).

It was tested on 1.3.33, 2.0.55 and 2.2 and compiles and loads on all
three versions. I believe it is suitable for inclusion in the official
code base.

Thanks,
daniel


diff -ruN mod_fastcgi-2.4.2/fcgi.h mod_fastcgi-2.4.2-ap22/fcgi.h
--- mod_fastcgi-2.4.2/fcgi.h	2003-02-04 00:07:37.000000000 +0100
+++ mod_fastcgi-2.4.2-ap22/fcgi.h	2005-12-07 21:05:55.000000000 +0100
@@ -73,6 +73,36 @@
 #define ap_reset_timeout(a)
 #define ap_unblock_alarms()
 
+/* starting with apache 2.2 the backward-compatibility defines for
+ * 1.3 APIs are not available anymore. Define them ourselves here.
+ */
+#ifndef ap_copy_table
+
+#define ap_copy_table apr_table_copy
+#define ap_cpystrn apr_cpystrn
+#define ap_destroy_pool apr_pool_destroy
+#define ap_isspace apr_isspace
+#define ap_make_array apr_array_make
+#define ap_make_table apr_table_make
+#define ap_null_cleanup apr_pool_cleanup_null 
+#define ap_palloc apr_palloc
+#define ap_pcalloc apr_pcalloc
+#define ap_psprintf apr_psprintf
+#define ap_pstrcat apr_pstrcat
+#define ap_pstrdup apr_pstrdup
+#define ap_pstrndup apr_pstrndup
+#define ap_push_array apr_array_push
+#define ap_register_cleanup apr_pool_cleanup_register
+#define ap_snprintf apr_snprintf
+#define ap_table_add apr_table_add
+#define ap_table_do apr_table_do
+#define ap_table_get apr_table_get
+#define ap_table_set apr_table_set
+#define ap_table_setn apr_table_setn
+#define ap_table_unset apr_table_unset
+
+#endif /* defined(ap_copy_table) */
+
 #if (defined(HAVE_WRITEV) && !HAVE_WRITEV && !defined(NO_WRITEV)) || defined WIN32
 #define NO_WRITEV
 #endif
diff -ruN mod_fastcgi-2.4.2/Makefile.AP2 mod_fastcgi-2.4.2-ap22/Makefile.AP2
--- mod_fastcgi-2.4.2/Makefile.AP2	2002-07-29 03:36:34.000000000 +0200
+++ mod_fastcgi-2.4.2-ap22/Makefile.AP2	2005-12-07 20:27:50.000000000 +0100
@@ -20,8 +20,6 @@
 
 all: local-shared-build
 
-install: install-modules
-
 clean:
 	-rm -f *.o *.lo *.slo *.la

___________________________________
fastcgi-developers mailing list
http://fastcgi.com/fastcgi-developers/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.