Hi,
I have added the feature to link mod_jk staticly with httpd-2.0. Fell free to
test it.
BTW, I have just noted that the name of the installed library is libjk.* in
Apache-1.3 and lib_jk.* in Apache-2.0.
I will correct Apache-2.0 to use libjk.* (On Monday, it does not prevent the
things to work it is just not very coherent).
Cheers
Jean-frederic
[EMAIL PROTECTED] wrote:
>
> jfclere 01/07/06 09:39:17
>
> Modified: jk/native configure.in
> jk/native/apache-2.0 Makefile.in
> Added: common/build os_apache.m4
> Log:
> Add support for static linked mod_jk with httpd-2.0.
> Arrange install of dynamic linked for httpd-2.0.
>
> Revision Changes Path
> 1.1 jakarta-tomcat-connectors/common/build/os_apache.m4
>
> Index: os_apache.m4
> ===================================================================
> dnl copied from httpd-2.0/os/config.m4
> dnl OS changed to OS_APACHE and OS_DIR to OS_APACHE_DIR
>
> AC_MSG_CHECKING(for target platform)
>
> #PLATFORM=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`
> PLATFORM=$host
>
> case "$PLATFORM" in
> *beos*)
> OS_APACHE="beos"
> OS_APACHE_DIR=$OS_APACHE
> ;;
> *pc-os2_emx*)
> OS_APACHE="os2"
> OS_APACHE_DIR=$OS_APACHE
> ;;
> bs2000*)
> OS_APACHE="unix"
> OS_APACHE_DIR=bs2000 # only the OS_APACHE_DIR is platform specific.
> ;;
> *)
> OS_APACHE="unix"
> OS_APACHE_DIR=$OS_APACHE;;
> esac
>
> AC_MSG_RESULT($OS_APACHE)
>
>
>
> 1.9 +19 -1 jakarta-tomcat-connectors/jk/native/configure.in
>
> Index: configure.in
> ===================================================================
> RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/configure.in,v
> retrieving revision 1.8
> retrieving revision 1.9
> diff -u -r1.8 -r1.9
> --- configure.in 2001/07/02 09:46:12 1.8
> +++ configure.in 2001/07/06 16:39:16 1.9
> @@ -1,7 +1,7 @@
> dnl
> dnl Process this file with autoconf to produce a configure script
> dnl
> -AC_REVISION($Id: configure.in,v 1.8 2001/07/02 09:46:12 jfclere Exp $)dnl
> +AC_REVISION($Id: configure.in,v 1.9 2001/07/06 16:39:16 jfclere Exp $)dnl
>
> AC_PREREQ(2.13)
> AC_INIT(common/jk_ajp13.h)
> @@ -104,6 +104,10 @@
> AC_MSG_RESULT(no apxs given)
> ])
>
> +dnl Apache-2.0 needs the os subdirectory to include os.h
> +dnl this include is copy from os/config.m4
> +sinclude(../../common/build/os_apache.m4)
> +
> dnl it is copied from the configure of JServ ;=)
> dnl and adapted.
>
> @@ -154,6 +158,7 @@
> WEBSERVER="apache-2.0"
> apache_dir=${withval}
> apache_dir_is_src="true"
> + apache_include="-I${withval}/include
>-I${withval}/srclib/apr/include -I${withval}/os/${OS_APACHE_DIR}
>-I${withval}/srclib/apr-util/include"
> AC_MSG_RESULT(${apache_dir})
> fi
> fi
> @@ -407,6 +412,19 @@
> AC_SUBST(WEBSERVER)
>
> AM_CONDITIONAL(MAKE_DYNAMIC_APACHE, ${TEST} "${apache_dir_is_src}" = "false")
> +
> +if ${TEST} "${apache_dir_is_src}" = "false" ; then
> + APACHE20_OEXT=.c
> + LIB_JK_TYPE=mod_jk.so
> + INSTALL_TYPE=install_dynamic
> +else
> + APACHE20_OEXT=.lo
> + LIB_JK_TYPE=lib_jk.la
> + INSTALL_TYPE=install_static
> +fi
> +AC_SUBST(APACHE20_OEXT)
> +AC_SUBST(LIB_JK_TYPE)
> +AC_SUBST(INSTALL_TYPE)
>
> dnl automake needs the path it does not work with $WEBSERVER
> dnl that why useless Makefiles are build.
>
>
>
> 1.6 +44 -16 jakarta-tomcat-connectors/jk/native/apache-2.0/Makefile.in
>
> Index: Makefile.in
> ===================================================================
> RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/apache-2.0/Makefile.in,v
> retrieving revision 1.5
> retrieving revision 1.6
> diff -u -r1.5 -r1.6
> --- Makefile.in 2001/06/07 13:54:09 1.5
> +++ Makefile.in 2001/07/06 16:39:17 1.6
> @@ -3,28 +3,56 @@
> APXS=@APXS@
> OS=@OS@
> JAVA_HOME=@JAVA_HOME@
> +CP=@CP@
> +APACHE_DIR=@APACHE_DIR@
> +MKDIR=@MKDIR@
>
> +LIBTOOL=libtool
> +
> JK=../common
> JK_INCL=-DUSE_APACHE_MD5 -I ${JK}
> +CFLAGS=@apache_include@ @CFLAGS@ ${JK_INCL}
> JAVA_INCL=-I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS}
> JAVA_LIB=-L ${JAVA_HOME}/jre/lib/${ARCH} -L
>${JAVA_HOME}/lib/${ARCH}/native_threads
> +
> +include ../common/list.mk.in
> +include ../scripts/build/rules.mk
> +
> +OEXT=@APACHE20_OEXT@
> +
> +
> +all: @LIB_JK_TYPE@
> +install: @INSTALL_TYPE@
>
> -SRCS=${JK}/jk_ajp12_worker.c ${JK}/jk_connect.c ${JK}/jk_msg_buff.c
>${JK}/jk_util.c ${JK}/jk_ajp13.c \
> - ${JK}/jk_jni_worker.c ${JK}/jk_pool.c ${JK}/jk_worker.c
>${JK}/jk_ajp13_worker.c ${JK}/jk_lb_worker.c \
> - ${JK}/jk_sockbuf.c ${JK}/jk_map.c ${JK}/jk_uri_worker_map.c
>${JK}/jk_ajp14.c ${JK}/jk_ajp14_worker.c \
> - ${JK}/jk_md5.c ${JK}/jk_context.c ${JK}/jk_ajp_common.c
> -
> -LSRCS=jk_ajp12_worker.c jk_connect.c jk_msg_buff.c jk_util.c jk_ajp13.c \
> - jk_jni_worker.c jk_pool.c jk_worker.c jk_ajp13_worker.c jk_lb_worker.c \
> - jk_sockbuf.c jk_map.c jk_uri_worker_map.c jk_ajp14.c jk_ajp14_worker.c \
> - jk_md5.c jk_context.c jk_ajp_common.c
> -
> -all: mod_jk.so
> -
> -mod_jk.so:
> - $(APXS) ${JK_INCL} ${JAVA_INCL} -c -o mod_jk.la mod_jk.c $(SRCS)
> - mv .libs/mod_jk.so .
> +lib_jk.la: mod_jk.lo
> + $(LIBTOOL) --mode=link $(CC) -o lib_jk.la -static -rpath
>${APACHE_DIR}/modules/jk mod_jk.lo $(APACHE_OBJECTS)
> +
> +install_static:
> + @echo ""
> + @echo "Copying files to Apache Modules Directory..."
> + -${MKDIR} ${APACHE_DIR}/modules/jk
> + ${CP} config.m4 ${APACHE_DIR}/modules/jk
> + ${LIBTOOL} --mode=install cp lib_jk.la ${APACHE_DIR}/modules/jk
> + @echo ""
> + @echo "Please be sure to re-compile Apache..."
> + @echo ""
> + @echo "cd ${APACHE_DIR}"
> + @echo "./buildconf"
> + @echo "./configure --with-mod_jk=static"
> + @echo "make"
> + @echo ""
> +
> +mod_jk.so: mod_jk.c $(APACHE_OBJECTS)
> + $(APXS) ${JK_INCL} ${JAVA_INCL} -c -o mod_jk.la mod_jk.c $(APACHE_OBJECTS)
> +
> +install_dynamic:
> + @echo ""
> + @echo "Installing files to Apache Modules Directory..."
> + $(APXS) -i mod_jk.la
> + @echo ""
> + @echo "Please be sure to arrange ${APACHE_DIR}/conf/httpd.conf..."
> + @echo ""
>
> clean:
> - rm -f *.o *.so *.lo *.la *.slo ${JK}/*.o ${JK}/*.so ${JK}/*.lo ${JK}/*.la
>${JK}/*.slo
> + rm -f *.o *.so *.lo *.la *.slo
> rm -rf .libs
>
>
>