blob: ee3b175a9128f7ceb02bc2aa4809f9aaadeb615c [file] [log] [blame]
dnl
dnl find_apr.m4 : locate the APR include files and libraries
dnl
dnl This macro file can be used by applications to find and use the APR
dnl library. It provides a standardized mechanism for using APR. It supports
dnl embedding APR into the application source, or locating an installed
dnl copy of APR.
dnl
dnl APR_FIND_APR([srcdir [, builddir]])
dnl
dnl where srcdir is the location of the bundled APR source directory, or
dnl empty if source is not bundled.
dnl
dnl where blddir is the location where the bundled APR will will be built,
dnl or empty if the build will occur in the srcdir.
dnl
dnl
dnl Sets the following variables on exit:
dnl
dnl apr_found : "yes", "no", "reconfig"
dnl
dnl apr_config : If the apr-config tool exists, this refers to it. If
dnl apr_found is "reconfig", then the bundled directory
dnl should be reconfigured *before* using apr_config.
dnl
dnl Note: this macro file assumes that apr-config has been installed; it
dnl is normally considered a required part of an APR installation.
dnl
dnl If a bundled source directory is available and needs to be (re)configured,
dnl then apr_found is set to "reconfig". The caller should reconfigure the
dnl (passed-in) source directory, placing the result in the build directory,
dnl as appropriate.
dnl
dnl If apr_found is "yes" or "reconfig", then the caller should use the
dnl value of apr_config to fetch any necessary build/link information.
dnl
AC_DEFUN(APR_FIND_APR, [
apr_found="no"
if test "$ac_cv_emxos2" = "yes"; then
# Scripts don't pass test -x on OS/2
TEST_X="test -f"
else
TEST_X="test -x"
fi
AC_MSG_CHECKING(for APR)
AC_ARG_WITH(apr,
[ --with-apr=DIR|FILE prefix for installed APR, path to APR build tree,
or the full path to apr-config],
[
if test "$withval" = "no" || test "$withval" = "yes"; then
AC_MSG_ERROR([--with-apr requires a directory to be provided])
fi
if $TEST_X "$withval/bin/apr-config"; then
apr_found="yes"
apr_config="$withval/bin/apr-config"
elif $TEST_X "$withval/apr-config"; then
apr_found="yes"
apr_config="$withval/apr-config"
elif $TEST_X "$withval" && $withval --help > /dev/null 2>&1 ; then
apr_found="yes"
apr_config="$withval"
fi
dnl if --with-apr is used, then the target prefix/directory must be valid
if test "$apr_found" != "yes"; then
AC_MSG_ERROR([the --with-apr parameter is incorrect. It must specify an install prefix, a
build directory, or an apr-config file.])
fi
],[
dnl always look in the builtin/default places
if apr-config --help > /dev/null 2>&1 ; then
apr_found="yes"
apr_config="apr-config"
else
dnl look in some standard places (apparently not in builtin/default)
for lookdir in /usr /usr/local /opt/apr ; do
if $TEST_X "$lookdir/bin/apr-config"; then
apr_found="yes"
apr_config="$lookdir/bin/apr-config"
break
fi
done
fi
dnl if we have a bundled source directory, then we may have more work
if test -d "$1"; then
apr_temp_abs_srcdir="`cd $1 && pwd`"
if test "$apr_found" = "yes" \
&& test "`$apr_config --srcdir`" = "$apr_temp_abs_srcdir"; then
dnl the installed apr-config represents our source directory, so
dnl pretend we didn't see it and just use our bundled source
apr_found="no"
fi
dnl We could not find an apr-config; use the bundled one
if test "$apr_found" = "no"; then
apr_found="reconfig"
if test -n "$2"; then
apr_config="$2/apr-config"
else
apr_config="$1/apr-config"
fi
fi
fi
])
AC_MSG_RESULT($apr_found)
])