hgomez 2003/11/04 04:48:05 Modified: jk/native2 configure.in Makefile.in jk/support jk_apr.m4 jk_apxs.m4 Log: Latest apr / apr_utils patch. Provided by Kurt Muller Revision Changes Path 1.12 +33 -9 jakarta-tomcat-connectors/jk/native2/configure.in Index: configure.in =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/configure.in,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- configure.in 3 Nov 2003 09:49:58 -0000 1.11 +++ configure.in 4 Nov 2003 12:48:04 -0000 1.12 @@ -64,6 +64,7 @@ dnl sinclude(../support/jk_apache_static.m4) sinclude(../support/jk_apxs.m4) sinclude(../support/jk_ws.m4) +sinclude(../support/jk_exec.m4) sinclude(../support/jk_apr.m4) sinclude(../support/jk_tchome.m4) sinclude(../support/jk_java.m4) @@ -172,6 +173,7 @@ dnl APR settings +JK_APR_THREADS() JK_APR([include/apr.h.in]) JK_APR_INCDIR([apr.h]) JK_APR_LIBDIR() @@ -203,16 +205,37 @@ AC_SUBST(WEBSERVERS) -dnl check if apache 1.3 selected with jni support +dnl apache 1.3 consistancy checks if ! ${TEST} -z "$APACHE_HOME" ; then -dnl check jni wanted - if ${TEST} "${use_jni}" = "true"; then - if ! ${TEST} "${use_apr}" = "true"; then - AC_MSG_ERROR(Apache 1.3 need apr to use jni) - fi - fi +dnl check if apache 1.3 was selected without apr sources + if ${TEST} -z "$APR_BUILD"; then + AC_MSG_ERROR([Apache 1.3 requires apr to built from source, use --with-apr]) + fi +dnl make sure compiler matchs apxs + if ${TEST} "$APACHE_CC" != "$CC"; then + AC_MSG_RESULT([error]) + AC_MSG_RESULT([compiler discovered by configure: ${CC}]) + AC_MSG_RESULT([compiler used by apache: ${APACHE_CC}]) + AC_MSG_RESULT([delete config.cache and try CC=${APACHE_CC} ./configure]) + AC_MSG_ERROR([jk2 and apache compilers must be the same]) + fi fi +dnl apache 2 consistancy checks +if ! ${TEST} -z "$APACHE2_HOME" ; then +dnl check if apache 2 was selected with apr sources + if ${TEST} -z "$APR_BUILD"; then + AC_MSG_ERROR([Use apr that comes with Apache 2, remove --with-apr]) + fi +dnl make sure compiler matchs apxs + if ${TEST} "$APACHE2_CC" != "$CC"; then + AC_MSG_RESULT([error]) + AC_MSG_RESULT([compiler discovered by configure: ${CC}]) + AC_MSG_RESULT([compiler used by apache: ${APACHE2_CC}]) + AC_MSG_RESULT([delete config.cache and try CC=${APACHE2_CC} ./configure]) + AC_MSG_ERROR([jk2 and apache compilers must be the same]) + fi +fi AC_SUBST(APACHE20_OEXT) AC_SUBST(LIB_JK_TYPE) AC_SUBST(INSTALL_TYPE) @@ -225,6 +248,7 @@ AC_SUBST(APR_HOME) AC_SUBST(APR_INCDIR) AC_SUBST(APR_LIBDIR) +AC_SUBST(APR_CONFIGURE_ARGS) AC_SUBST(APR_LDFLAGS) AC_SUBST(COMMON_APR_OBJECTS) 1.3 +1 -1 jakarta-tomcat-connectors/jk/native2/Makefile.in Index: Makefile.in =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/Makefile.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Makefile.in 24 May 2002 07:14:08 -0000 1.2 +++ Makefile.in 4 Nov 2003 12:48:05 -0000 1.3 @@ -41,7 +41,7 @@ done; apr-build: - ( cd @APR_DIR@ && ./configure && make ) + ( cd @APR_DIR@ && make ) apr-clean: ( cd @APR_DIR@ && make clean ) 1.6 +66 -2 jakarta-tomcat-connectors/jk/support/jk_apr.m4 Index: jk_apr.m4 =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/support/jk_apr.m4,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- jk_apr.m4 3 Nov 2003 09:59:45 -0000 1.5 +++ jk_apr.m4 4 Nov 2003 12:48:05 -0000 1.6 @@ -64,6 +64,31 @@ dnl -------------------------------------------------------------------------- dnl -------------------------------------------------------------------------- +dnl JK_APR_THREADS +dnl Configure APR threading for use with --with-apr. +dnl Result goes into APR_CONFIGURE_ARGS +dnl -------------------------------------------------------------------------- +AC_DEFUN( + [JK_APR_THREADS], + [ + AC_ARG_ENABLE( + [apr-threads], + [ --enable-apr-threads Configure APR threading for use with --with-apr ], + [ + case "${enableval}" in + ""|"yes"|"YES"|"true"|"TRUE") + APR_CONFIGURE_ARGS="--enable-threads ${APR_CONFIGURE_ARGS}" + ;; + "no"|"NO"|"false"|"FALSE") + APR_CONFIGURE_ARGS="--disable-threads ${APR_CONFIGURE_ARGS}" + ;; + *) + APR_CONFIGURE_ARGS="--enable-threads=${enableval} ${APR_CONFIGURE_ARGS}" + esac + ]) + ]) + +dnl -------------------------------------------------------------------------- dnl JK_APR dnl Set the APR source dir. dnl $1 => File which should be present @@ -99,7 +124,21 @@ APR_CLEAN="apr-clean" APR_DIR=${tempval} APR_INCDIR="${tempval}/include" - APR_LDFLAGS="${tempval}/.libs/libapr-0.a" + AC_MSG_RESULT(configuring apr...) + APR_CONFIGURE_ARGS="--enable-static --disable-shared ${APR_CONFIGURE_ARGS}" + tempret="0" + JK_EXEC( + [tempret], + [./configure ${APR_CONFIGURE_ARGS}], + [apr], + [${APR_DIR}]) + if ${TEST} "${tempret}" = "0"; then + AC_MSG_RESULT(apr configure ok) + else + AC_MSG_ERROR(apr configure failed with ${tempret}) + fi + JK_APR_LIBNAME(APR_LDFLAGS,${APR_DIR}) + APR_LDFLAGS="${APR_DIR}/.libs/${APR_LDFLAGS}" APR_LIBDIR="" use_apr=true COMMON_APR_OBJECTS="\${COMMON_APR_OBJECTS}" @@ -108,6 +147,7 @@ esac ]) + unset tempret unset tempval ]) @@ -199,6 +239,30 @@ ]) unset tempval + ]) + + +dnl -------------------------------------------------------------------------- +dnl JK_APR_LIBNAME +dnl Retrieve the complete name of the library. +dnl $1 => Environment variable name for the returned value +dnl $2 => APR sources directory +dnl -------------------------------------------------------------------------- +AC_DEFUN( + [JK_APR_LIBNAME], + [ + AC_MSG_CHECKING([for apr APR_LIBNAME]) + if test ! -f "$2/apr-config" ; then + AC_MSG_ERROR([cannot find apr-config file in $2]) + fi + jk_apr_get_tempval=`$2/apr-config --link-libtool 2> /dev/null` + if test -z "${jk_apr_get_tempval}" ; then + AC_MSG_ERROR([$2/apr-config --link-libtool failed]) + fi + jk_apr_get_tempval=`basename ${jk_apr_get_tempval} | sed 's/\.la/\.a/g'` + $1="${jk_apr_get_tempval}" + AC_MSG_RESULT([${jk_apr_get_tempval}]) + unset jk_apr_get_tempval ]) dnl vi:set sts=2 sw=2 autoindent: 1.7 +131 -1 jakarta-tomcat-connectors/jk/support/jk_apxs.m4 Index: jk_apxs.m4 =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/support/jk_apxs.m4,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- jk_apxs.m4 25 Sep 2003 15:23:56 -0000 1.6 +++ jk_apxs.m4 4 Nov 2003 12:48:05 -0000 1.7 @@ -1,4 +1,132 @@ dnl ========================================================================= +dnl ========================================================================= +dnl +dnl The Apache Software License, Version 1.1 +dnl +dnl Copyright (c) 1999-2003 The Apache Software Foundation. +dnl All rights reserved. +dnl +dnl ========================================================================= +dnl +dnl Redistribution and use in source and binary forms, with or without modi- +dnl fication, are permitted provided that the following conditions are met: +dnl +dnl 1. Redistributions of source code must retain the above copyright notice +dnl notice, this list of conditions and the following disclaimer. +dnl +dnl 2. Redistributions in binary form must reproduce the above copyright +dnl notice, this list of conditions and the following disclaimer in the +dnl documentation and/or other materials provided with the distribution. +dnl +dnl 3. The end-user documentation included with the redistribution, if any, +dnl must include the following acknowlegement: +dnl +dnl "This product includes software developed by the Apache Software +dnl Foundation <http://www.apache.org/>." +dnl +dnl Alternately, this acknowlegement may appear in the software itself, if +dnl and wherever such third-party acknowlegements normally appear. +dnl +dnl 4. The names "The Jakarta Project", "Apache WebApp Module", and "Apache +dnl Software Foundation" must not be used to endorse or promote products +dnl derived from this software without prior written permission. For +dnl written permission, please contact <[EMAIL PROTECTED]>. +dnl +dnl 5. Products derived from this software may not be called "Apache" nor may +dnl "Apache" appear in their names without prior written permission of the +dnl Apache Software Foundation. +dnl +dnl THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES +dnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +dnl AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +dnl THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY +dnl DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +dnl DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +dnl OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +dnl HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +dnl STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +dnl ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +dnl POSSIBILITY OF SUCH DAMAGE. +dnl +dnl ========================================================================= +dnl +dnl This software consists of voluntary contributions made by many indivi- +dnl duals on behalf of the Apache Software Foundation. For more information +dnl on the Apache Software Foundation, please see <http://www.apache.org/>. +dnl +dnl ========================================================================= + +dnl -------------------------------------------------------------------------- +dnl Author Pier Fumagalli <[EMAIL PROTECTED]> +dnl Version $Id$ +dnl -------------------------------------------------------------------------- + +dnl -------------------------------------------------------------------------- +dnl JK_EXEC +dnl Execute a program filtering its output (pretty printing). +dnl +dnl Parameters: +dnl $1 => name of the variable containing the return value (error code). +dnl $2 => name of the binary/script to invoke +dnl $3 => message used for pretty printing output +dnl $4 => the directory where the command must be executed +dnl -------------------------------------------------------------------------- +AC_DEFUN( + [JK_EXEC], + [ + jk_exec_curdir="`pwd`" + if test -d "$4" ; then + cd "$4" + else + AC_MSG_ERROR([can't switch to directory $4]) + fi + + echo " invoking \"$2\"" + echo " in directory \"$4\"" + echo "-1" > retvalue.tmp + + set $2 + jk_exec_file=[$]1 + if test ! -x "${jk_exec_file}" ; then + cd "${jk_exec_curdir}" + AC_MSG_ERROR([cannot find or execute \"${jk_exec_file}\" in \"$4\"]) + exit 1 + fi + unset jk_exec_file + + { + $2 + echo "jk_exec_retvalue $?" + } | { + jk_exec_ret=0 + while true ; do + read jk_exec_first jk_exec_line + if test ! "$?" -eq "0" ; then + break + else + if test "${jk_exec_first}" = "jk_exec_retvalue" ; then + jk_exec_ret="${jk_exec_line}" + else + if test -n "${jk_exec_line}" ; then + echo " $3: ${jk_exec_first} ${jk_exec_line}" + fi + fi + fi + done + echo "${jk_exec_ret}" > retvalue.tmp + unset jk_exec_first + unset jk_exec_line + unset jk_exec_ret + } + + $1="`cat retvalue.tmp`" + rm -f retvalue.tmp + echo " execution of \"$2\"" + echo " returned with value \"${$1}\"" + + cd "${jk_exec_curdir}" + unset jk_exec_curdir + ]) dnl dnl The Apache Software License, Version 1.1 dnl @@ -113,6 +241,7 @@ APACHE$1_INCL="-I`${APXS$1} -q INCLUDEDIR`" APACHE$1_INCDIR="`${APXS$1} -q INCLUDEDIR`" APACHE$1_LIBEXEC="`${APXS$1} -q LIBEXECDIR`" + APACHE$1_CC="`${APXS$1} -q CC`" dnl test apache version APA=`${GREP} STANDARD20 ${APXS$1}` @@ -160,6 +289,7 @@ AC_SUBST(APACHE$1_INCDIR) AC_SUBST(APACHE$1_INCL) AC_SUBST(APACHE$1_LIBEXEC) + AC_SUBST(APACHE$1_CC) AC_SUBST(APXS$1_LDFLAGS) ])
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]