# -*- Autoconf -*- # TODO: Figure out licensing of this file (it is derived with heavy # modification from apr.m4 from Subversion) # Copyright (c) 2008 BBN Technologies Corp. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. Neither the name of BBN Technologies nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY BBN TECHNOLOGIES AND CONTRIBUTORS ``AS IS'' # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL BBN TECHNOLOGIES OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # NAME # STSW_LIB_APR - Check for the Apache Portable Runtime library # # SYNOPSIS # STSW_LIB_APR(wanted_regex) # # DESCRIPTION # Searches for the Apache Portable Runtime (APR) headers and # library and determines the appropriate build flags. # # ARGUMENTS # wanted_regex # Regular expression that the APR version string must # match. # # RETURN VALUE # The shell variable 'apr_found' is set to 'yes' if APR is # found. # # If APR is found, the following substituted variables are set # according to the output of apr-config: STSW_APR_CFLAGS, # STSW_APR_CPPFLAGS, STSW_APR_INCLUDES, STSW_APR_LDFLAGS, and # STSW_APR_LIBS # # NOTES # Derived from Subversion's apr.m4. # # serial 0 AC_DEFUN([STSW_LIB_APR], [ AC_MSG_NOTICE([Apache Portable Runtime (APR) library configuration]) APR_FIND_APR([], [], [1], [0 1]) if test "x$apr_found" != "xyes" ; then AC_MSG_ERROR([the Apache Portable Runtime (APR) library (version 0.x or 1.x) was not found. Please specify a path to APR using '--with-apr'.]) fi # check APR version number against regex APR_WANTED_REGEXES="$1" if test "x$APR_WANTED_REGEXES" = "x" ; then AC_MSG_ERROR([internal error: invalid argument to [STSW_LIB_APR]]) fi AC_MSG_CHECKING([APR version]) apr_version=`$apr_config --version` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --version' failed]) fi AC_MSG_RESULT([$apr_version]) apr_version_regex_match=no for apr_wanted_regex in $APR_WANTED_REGEXES; do AC_MSG_CHECKING([if APR version matches '$apr_wanted_regex']) if test `expr $apr_version : $apr_wanted_regex` -ne 0; then apr_version_regex_match=yes fi AC_MSG_RESULT([$apr_version_regex_match]) if test "x$apr_version_regex_match" = "xyes" ; then break fi done if test "x$apr_version_regex_match" != "xyes" ; then AC_MSG_ERROR([APR version mismatch]) fi # Get build information from APR AC_MSG_CHECKING([for APR CPPFLAGS]) STSW_APR_CPPFLAGS=`$apr_config --cppflags` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --cppflags' failed]) fi AC_MSG_RESULT([$STSW_APR_CPPFLAGS]) AC_MSG_CHECKING([for APR CFLAGS]) STSW_APR_CFLAGS=`$apr_config --cflags` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --cflags' failed]) fi AC_MSG_RESULT([$STSW_APR_CFLAGS]) AC_MSG_CHECKING([for APR LDFLAGS]) STSW_APR_LDFLAGS=`$apr_config --ldflags` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --ldflags' failed]) fi AC_MSG_RESULT([$STSW_APR_LDFLAGS]) AC_MSG_CHECKING([for APR includes]) STSW_APR_INCLUDES=`$apr_config --includes` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --includes' failed]) fi AC_MSG_RESULT([$STSW_APR_INCLUDES]) AC_MSG_CHECKING([for APR LIBS]) STSW_APR_LIBS=`$apr_config --link-ld` if test $? -ne 0; then AC_MSG_RESULT([failed]) AC_MSG_ERROR(['apr-config --link-ld' failed]) fi AC_MSG_RESULT([$STSW_APR_LIBS]) # substitute the variables so that Makefiles can selectively # enable the flags AC_SUBST([STSW_APR_CPPFLAGS]) AC_SUBST([STSW_APR_CFLAGS]) AC_SUBST([STSW_APR_LDFLAGS]) AC_SUBST([STSW_APR_INCLUDES]) AC_SUBST([STSW_APR_LIBS]) ])