dnl dnl find_apu.m4 : locate the APR-util (APU) include files and libraries dnl dnl This macro file can be used by applications to find and use the APU dnl library. It provides a standardized mechanism for using APU. It supports dnl embedding APU into the application source, or locating an installed dnl copy of APU. dnl dnl APR_FIND_APU([srcdir, path]) dnl dnl where srcdir is the location of the bundled APU source directory, or dnl empty if source is not bundled. dnl where path is the prefix to the location where the bundled APU will dnl will be built. dnl dnl Sets the following variables on exit: dnl dnl apu_found : "yes", "no", "reconfig" dnl dnl apu_config : If the apu-config tool exists, this refers to it. If dnl apu_found is "reconfig", then the bundled directory dnl should be reconfigured *before* using apu_config. dnl dnl Note: At this time, we cannot find *both* a source dir and a build dir. dnl If both are available, the build directory should be passed to dnl the --with-apr-util switch. dnl dnl Note: the installation layout is presumed to follow the standard dnl PREFIX/lib and PREFIX/include pattern. If the APU config file dnl is available (and can be found), then non-standard layouts are dnl possible, since it will be described in the config file. dnl dnl If a bundled source directory is available and needs to be (re)configured, dnl then apu_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 apu_found is "yes" or "reconfig", then the caller should use the dnl value of apu_config to fetch any necessary build/link information. dnl AC_DEFUN(APR_FIND_APU, [ apu_found="no" AC_MSG_CHECKING(for APR-util) AC_ARG_WITH(apr-util, [ --with-apr-util=DIR prefix for installed APU, or path to APU build tree], [ if test "$withval" = "no" || test "$withval" = "yes"; then AC_MSG_ERROR([--with-apr-util requires a directory to be provided]) fi if test -x "$withval/bin/apu-config"; then apu_found="yes" apu_config="$withval/bin/apu-config" elif test -x "$withval/apu-config"; then dnl Already configured build dir apu_found="yes" apu_config="$withval/apu-config" elif test -x "$withval" && $withval --help > /dev/null 2>&1 ; then apu_found="yes" apu_config="$withval" fi dnl if --with-apr-util is used, then the target prefix/directory must dnl be valid if test "$apu_found" != "yes"; then AC_MSG_ERROR([ The directory given to --with-apr-util does not specify a prefix for an installed APU, nor an APR-util build directory.]) fi ],[ if apu-config --help > /dev/null 2>&1 ; then apu_found="yes" apu_config="apu-config" else dnl look in the some standard places (apparently not in builtin/default) for lookdir in /usr /usr/local /opt/apr ; do if test -x "$lookdir/bin/apu-config"; then apu_found="yes" apu_config="$lookdir/bin/apu-config" break fi done fi dnl if we have a bundled source directory, then we may have more work if test -d "$1"; then apu_temp_abs_srcdir="`cd $1 && pwd`" if test "$apu_found" = "yes" \ && test "`$apu_config --srcdir`" = "$apu_temp_abs_srcdir"; then dnl the installed apu-config represents our source directory, so dnl pretend we didn't see it and just use our bundled source apu_found="no" fi dnl We could not find an apu-config; use the bundled one if test "$apu_found" = "no"; then apu_found="reconfig" if test -n "$2"; then apu_config="$2/apu-config" else apu_config="$1/apu-config" fi fi fi ]) AC_MSG_RESULT($apu_found) ])