I just applied this patch to the Apache_20_branch and the code applies,
compiles, and runs cleanly (only tested on linux RH 7.3). I'm puttingthis
up for a vote to be applied from cvs head to the 2.0 branch. twothings
still need to be test, the compile on Win32 and the compile on Netware.
they should compile fine, but a test is always a Good Thing.
I've attached a cvs diff from the 2.0 branch.
Here are the HEAD CVS revisions where the changes took place
configure.in (rev 1.260)
build/build-modules-c.awk (rev 1.9)
os/win32/modules.c (rev 1.17)
os/netware/modules.c (rev 1.9)
server/core.c (rev 1.280)
include/http_config.h (rev 1.110)
modules/mappers/mod_so.c (rev 1.57)
modules/mappers/mod_so.h (rev 1.1 New File)
--
Edward Rudd <[EMAIL PROTECTED]>
Website http://www.outoforder.cc/? build-prefork
Index: configure.in
===
RCS file: /home/cvspublic/httpd-2.0/configure.in,v
retrieving revision 1.232.2.14
diff -u -3 -p -r1.232.2.14 configure.in
--- configure.in18 Mar 2004 07:36:52 - 1.232.2.14
+++ configure.in21 Jun 2004 19:30:54 -
@@ -135,7 +135,7 @@ if test "$abs_builddir" != "$abs_srcdir"
APR_ADDTO(INCLUDES, [-I\$(srcdir) -I\$(top_builddir)/server/mpm/\$(MPM_SUBDIR_NAME)
-I\$(top_builddir)/include])
fi
-APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR)
-I\$(top_srcdir)/server/mpm/\$(MPM_SUBDIR_NAME) -I\$(top_srcdir)/modules/http
-I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy
-I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators])
+APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/os/\$(OS_DIR)
-I\$(top_srcdir)/server/mpm/\$(MPM_SUBDIR_NAME) -I\$(top_srcdir)/modules/http
-I\$(top_srcdir)/modules/filters -I\$(top_srcdir)/modules/proxy
-I\$(top_srcdir)/include -I\$(top_srcdir)/modules/generators
-I\$(top_srcdir)/modules/mappers])
echo $ac_n "${nl}Applying OS-specific hints for httpd ...${nl}"
Index: libhttpd.dsp
===
RCS file: /home/cvspublic/httpd-2.0/libhttpd.dsp,v
retrieving revision 1.51.2.10
diff -u -3 -p -r1.51.2.10 libhttpd.dsp
--- libhttpd.dsp8 Mar 2004 17:40:34 - 1.51.2.10
+++ libhttpd.dsp21 Jun 2004 19:30:54 -
@@ -241,6 +241,35 @@ InputPath=.\modules\dav\main\mod_dav.h
# End Source File
# Begin Source File
+SOURCE=.\modules\mappers\mod_so.h
+
+!IF "$(CFG)" == "libhttpd - Win32 Release"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Creating include/mod_so.h
+InputPath=.\modules\mappers\mod_so.h
+
+".\include\mod_so.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\modules\mappers\mod_so.h > .\include\mod_so.h
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "libhttpd - Win32 Debug"
+
+# PROP Ignore_Default_Tool 1
+# Begin Custom Build - Creating include/mod_so.h
+InputPath=.\modules\mappers\mod_so.h
+
+".\include\mod_so.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ type .\modules\mappers\mod_so.h > .\include\mod_so.h
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=.\modules\filters\mod_include.h
!IF "$(CFG)" == "libhttpd - Win32 Release"
Index: build/build-modules-c.awk
===
RCS file: /home/cvspublic/httpd-2.0/build/build-modules-c.awk,v
retrieving revision 1.5.2.2
diff -u -3 -p -r1.5.2.2 build-modules-c.awk
--- build/build-modules-c.awk 9 Feb 2004 20:59:44 - 1.5.2.2
+++ build/build-modules-c.awk 21 Jun 2004 19:30:54 -
@@ -32,6 +32,7 @@ END {
print ""
print "#include \"ap_config.h\""
print "#include \"httpd.h\""
+print "#define CORE_PRIVATE"
print "#include \"http_config.h\""
print ""
for (i = 0; i < pn; ++i) {
@@ -50,6 +51,17 @@ END {
printf " &%s_module,\n", modules[i]
}
print " NULL"
+print "};"
+print ""
+print "/*"
+print " * We need the symbols as strings for containers"
+print " */"
+print ""
+print "ap_module_symbol_t ap_prelinked_module_symbols[] = {"
+for (i = 0; i < n; ++i) {
+printf (" {\"%s_module\", &%s_module},\n", modules[i], modules[i])
+}
+print " {NULL, NULL}"
print "};"
print ""
print "/*"
Index: include/http_config.h
===
RCS file: /home/cvspublic/httpd-2.0/include/http_config.h,v
retrieving revision 1.97.2.5
diff -u -3 -p -r1.97.2.5 http_config.h
--- include/http_config.h 9 Feb 2004 20:54:33 - 1.97.2.5
+++ include/http_config.h 21 Jun 2004 19:30:58 -
@@ -713,6 +713,14 @@ AP_DECLARE(const char *) ap_check_cmd_co
#ifdef CORE_PRIVATE
/**
+ * This structure is used to assign symbol names to module pointers
+ */
+typedef struct {
+const char *name;
+module *modp;
+} ap_module_symbol_t;
+
+/**
* The topmost module in the list
* @defvar module *ap_top_module
*/
@@ -723,6 +731,11 @@ AP_DECLARE_DATA extern module