I finally got a chance to build mod_webapp from j-t-c with Apache 2.0. Looks good and is quite easy to do. Only problem is that we aren't handling directories properly. If you do the examples webapp, you see a link to:
http://localhost:8080/examples/servlets/ Going there results in a bad response (actually nothing returned!), but http://localhost:8080/examples/servlets/index.html works. I'm not terribly sure if httpd or Tomcat should be handling this case (i.e. redirecting or handling DirectoryIndex-type semantics). Somebody isn't handling it and that's not good. You will find attached a patch that cleans up some of the build process in j-t-c so that it works with Apache 2.0 cleanly and fixes some tpyos and formatting quirks. The only questionable thing is that lib/libwebapp.a isn't built by libtool. The simple straightforward ar and ranlib should work fine, but it may not work on all systems. When linking mod_webapp.lo with libwebapp.a, libtool emits a warning. It may be worth it to try and use APR's libtool to compile and link all of the files in lib (this would produce lib/libwebapp.la). Enjoy. Oh, and Pier, thanks for dinner. =-) This is my payback... -- justin Index: webapp/Makefile.in =================================================================== RCS file: /home/cvspublic/jakarta-tomcat-connectors/webapp/Makefile.in,v retrieving revision 1.20 diff -u -r1.20 Makefile.in --- webapp/Makefile.in 2001/09/17 05:06:27 1.20 +++ webapp/Makefile.in 2001/10/01 06:39:24 @@ -107,6 +107,12 @@ apache-1.3-clean: @$(MAKE) template MFLG="$(MAKEFLAGS)" MDIR="apache-1.3" MTGT="clean" +apache-2.0-build: + @$(MAKE) template MFLG="$(MAKEFLAGS)" MDIR="apache-2.0" MTGT="build" + +apache-2.0-clean: + @$(MAKE) template MFLG="$(MAKEFLAGS)" MDIR="apache-2.0" MTGT="clean" + template: @ { \ $(ECHO) "" ; \ Index: webapp/configure.in =================================================================== RCS file: /home/cvspublic/jakarta-tomcat-connectors/webapp/configure.in,v retrieving revision 1.39 diff -u -r1.39 configure.in --- webapp/configure.in 2001/09/17 05:07:01 1.39 +++ webapp/configure.in 2001/10/01 06:39:24 @@ -177,7 +177,7 @@ dnl Upd vars: N/A dnl ------------------------------------------------------------------------- AC_ARG_WITH(tomcat, - [ --with-tomcat[=DIR] path of a Tomcat 4.0 distribution. (DIR defaults + [ --with-tomcat[=DIR] path of a Tomcat 4.0 distribution. (DIR defaults to \"/usr/local/tomcat\"). Not required and ignored when the --enable-java option is not specified.], [ @@ -241,7 +241,7 @@ AC_MSG_CHECKING([for C API documentation]) AC_ARG_ENABLE(apidocs-c, [ --enable-apidocs-c[=PERL] - enbale generation of C API documentation using + enable generation of C API documentation using ScanDoc (PERL is the name of the Perl interpreter used to run ScanDoc. If not specified this is looked up in your current path).], @@ -302,7 +302,7 @@ AC_MSG_CHECKING([for Java API documentation]) AC_ARG_ENABLE(apidocs-java, [ --enable-apidocs-java[=JAVADOC] - enbale generation of Java API documentation using + enable generation of Java API documentation using JavaDoc (If JAVADOC is not set its value will be discovered by \"--enable-java\").], [ @@ -347,10 +347,10 @@ dnl Upd vars: APR_SRCDIR dnl -------------------------------------------------------------------------- AC_ARG_WITH(apr, - [ --with-apr[=DIR] path of an APR (Apache Portable Runtime) source + [ --with-apr[=DIR] path of an APR (Apache Portable Runtime) source distribution or CVS snapshot. (DIR defaults to - \"./apr\"). Not required and ignored when the - --with-apxs2 option is specified.], + \"./apr\"). Not required and ignored when an + Apache 2.0 apxs is specified (--with-apxs).], [ case "${withval}" in ""|"yes"|"YES"|"true"|"TRUE") @@ -382,7 +382,7 @@ dnl -------------------------------------------------------------------------- AC_MSG_CHECKING([for Apache apxs]) AC_ARG_WITH(apxs, - [ --with-apxs[=FILE] build a shared Apache module. If FILE was not + [ --with-apxs[=FILE] build a shared Apache module. If FILE was not specified, then APXS will be searched within the current PATH. The Apache server version (1.3 or 2.0) will be automatically detected.], @@ -425,7 +425,7 @@ dnl Upd vars: APR_CFGFLG APR_VARFIL APR_LIBDIR APR_INCDIR dnl ----------------------------------------------------- MODULE="apache-2.0" - local_prefix="`apxs -q PREFIX`" + local_prefix="`${APXS} -q PREFIX`" APR_CFGFLG="" APR_VARFIL="${local_prefix}/lib/APRVARS" APR_LIBDIR="${local_prefix}/lib" Index: webapp/apache-2.0/Makefile.in =================================================================== RCS file: /home/cvspublic/jakarta-tomcat-connectors/webapp/apache-2.0/Makefile.in,v retrieving revision 1.2 diff -u -r1.2 Makefile.in --- webapp/apache-2.0/Makefile.in 2001/08/31 10:26:24 1.2 +++ webapp/apache-2.0/Makefile.in 2001/10/01 06:39:24 @@ -65,10 +65,11 @@ MODULE = mod_webapp.la all: $(MODULE) +build: $(MODULE) mod_webapp.la: mod_webapp.c @$(ECHO) Compiling and Linking Apache 2.0 WebApp Module - $(APXS) -I../include -c ../lib/libwebapp.la mod_webapp.c + $(APXS) -I../include -c ../lib/libwebapp.a mod_webapp.c install: mod_webapp.la $(APXS) -i mod_webapp.la