| dnl |
| dnl Process this file with autoconf to produce a configure script |
| dnl |
| |
| AC_PREREQ(2.59) |
| AC_INIT(export_vars.sh.in) |
| |
| AC_CONFIG_HEADER(include/private/apu_config.h) |
| AC_CONFIG_AUX_DIR(build) |
| |
| sinclude(build/apu-conf.m4) |
| sinclude(build/apu-iconv.m4) |
| sinclude(build/apu-hints.m4) |
| sinclude(build/apr_common.m4) |
| sinclude(build/find_apr.m4) |
| sinclude(build/dbm.m4) |
| sinclude(build/dbd.m4) |
| sinclude(build/dso.m4) |
| |
| dnl Generate ./config.nice for reproducing runs of configure |
| dnl |
| APR_CONFIG_NICE(config.nice) |
| |
| dnl # Some initial steps for configuration. We setup the default directory |
| dnl # and which files are to be configured. |
| |
| dnl Absolute source/build directory |
| abs_srcdir=`(cd $srcdir && pwd)` |
| abs_builddir=`pwd` |
| |
| if test "$abs_builddir" != "$abs_srcdir"; then |
| USE_VPATH=1 |
| APU_CONFIG_LOCATION=build |
| else |
| APU_CONFIG_LOCATION=source |
| fi |
| |
| AC_SUBST(APU_CONFIG_LOCATION) |
| |
| AC_CANONICAL_SYSTEM |
| |
| AC_PROG_INSTALL |
| |
| # Use -no-install to link the test programs on all platforms |
| # but Darwin, where it would cause the programs to be linked |
| # against installed versions of libapr instead of those just |
| # built. |
| case $host in |
| *-apple-darwin*) LT_NO_INSTALL="" ;; |
| *) LT_NO_INSTALL="-no-install" ;; |
| esac |
| AC_SUBST(LT_NO_INSTALL) |
| |
| dnl |
| dnl compute the top directory of the build |
| dnl note: this is needed for LIBTOOL and exporting the bundled Expat |
| dnl |
| top_builddir="$abs_builddir" |
| AC_SUBST(top_builddir) |
| AC_SUBST(abs_srcdir) |
| AC_SUBST(abs_builddir) |
| |
| dnl Initialize mkdir -p functionality. |
| APR_MKDIR_P_CHECK($abs_srcdir/build/mkdir.sh) |
| |
| dnl get our version information |
| get_version="$abs_srcdir/build/get-version.sh" |
| version_hdr="$abs_srcdir/include/apu_version.h" |
| APRUTIL_MAJOR_VERSION="`$get_version major $version_hdr APU`" |
| APRUTIL_DOTTED_VERSION="`$get_version all $version_hdr APU`" |
| |
| APU_LTVERSION="-version-info `$get_version libtool $version_hdr APU`" |
| |
| AC_SUBST(APRUTIL_DOTTED_VERSION) |
| AC_SUBST(APRUTIL_MAJOR_VERSION) |
| AC_SUBST(APU_LTVERSION) |
| |
| echo "APR-util Version: ${APRUTIL_DOTTED_VERSION}" |
| |
| dnl Enable the layout handling code, then reparse the prefix-style |
| dnl arguments due to autoconf being a PITA. |
| APR_ENABLE_LAYOUT(apr-util) |
| APR_PARSE_ARGUMENTS |
| |
| dnl load os-specific hints for apr-util |
| APU_PRELOAD |
| |
| dnl |
| dnl set up the compilation flags and stuff |
| dnl |
| |
| APRUTIL_INCLUDES="" |
| APRUTIL_PRIV_INCLUDES="-I$top_builddir/include -I$top_builddir/include/private" |
| if test -n "$USE_VPATH"; then |
| APRUTIL_PRIV_INCLUDES="$APRUTIL_PRIV_INCLUDES -I$abs_srcdir/include/private -I$abs_srcdir/include" |
| fi |
| |
| dnl |
| dnl Find the APR includes directory and (possibly) the source (base) dir. |
| dnl |
| APU_FIND_APR |
| |
| dnl |
| dnl even though we use apr_rules.mk for building apr-util, we need |
| dnl to grab CC and CPP ahead of time so that apr-util config tests |
| dnl use the same compiler as APR; we need the same compiler options |
| dnl and feature test macros as well |
| dnl |
| APR_SETIFNULL(CC, `$apr_config --cc`) |
| APR_SETIFNULL(CPP, `$apr_config --cpp`) |
| APR_ADDTO(CFLAGS, `$apr_config --cflags`) |
| APR_ADDTO(CPPFLAGS, `$apr_config --cppflags`) |
| apr_shlibpath_var=`$apr_config --shlib-path-var` |
| AC_SUBST(apr_shlibpath_var) |
| |
| dnl |
| dnl Find the APR-ICONV directory. |
| dnl |
| AC_ARG_WITH(apr-iconv, |
| [ --with-apr-iconv=DIR relative path to apr-iconv source], |
| [ apu_apriconv_dir="$withval" |
| if test "$apu_apriconv_dir" != "no"; then |
| if test -d "$apu_apriconv_dir"; then |
| APR_SUBDIR_CONFIG("$apu_apriconv_dir", |
| [$apache_apr_flags \ |
| --prefix=$prefix \ |
| --exec-prefix=$exec_prefix \ |
| --libdir=$libdir \ |
| --includedir=$includedir \ |
| --bindir=$bindir \ |
| --datadir=$datadir \ |
| --with-installbuilddir=$installbuilddir], |
| [--enable-layout=*|\'--enable-layout=*]) |
| APRUTIL_EXPORT_LIBS="$abs_srcdir/$apu_apriconv_dir/lib/libapriconv.la \ |
| $APRUTIL_EXPORT_LIBS" |
| APRUTIL_INCLUDES="-I$abs_srcdir/$apu_apriconv_dir/include \ |
| $APRUTIL_INCLUDES" |
| APR_ICONV_DIR="$apu_apriconv_dir" |
| else |
| APR_ICONV_DIR="" |
| fi |
| else |
| APR_ICONV_DIR="" |
| fi |
| ]) |
| AC_SUBST(APR_ICONV_DIR) |
| |
| dnl Find LDAP library |
| dnl Determine what DBM backend type to use. |
| dnl Find Expat |
| dnl Find an iconv library |
| APU_FIND_LDAP |
| APU_CHECK_DBM |
| APU_CHECK_DBD |
| APU_CHECK_DBD_MYSQL |
| APU_CHECK_DBD_SQLITE3 |
| APU_CHECK_DBD_SQLITE2 |
| APU_CHECK_DBD_ORACLE |
| APU_CHECK_DBD_FREETDS |
| APU_CHECK_DBD_ODBC |
| APU_FIND_EXPAT |
| APU_FIND_ICONV |
| |
| dnl Enable DSO build; must be last: |
| APU_CHECK_UTIL_DSO |
| |
| AC_SEARCH_LIBS(crypt, crypt ufc) |
| AC_MSG_CHECKING(if system crypt() function is threadsafe) |
| if test "x$apu_crypt_threadsafe" = "x1"; then |
| AC_DEFINE(APU_CRYPT_THREADSAFE, 1, [Define if the system crypt() function is threadsafe]) |
| msg="yes" |
| else |
| msg="no" |
| fi |
| AC_MSG_RESULT([$msg]) |
| |
| AC_CHECK_FUNCS(crypt_r, [ crypt_r="1" ], [ crypt_r="0" ]) |
| if test "$crypt_r" = "1"; then |
| APU_CHECK_CRYPT_R_STYLE |
| fi |
| |
| so_ext=$APR_SO_EXT |
| lib_target=$APR_LIB_TARGET |
| AC_SUBST(so_ext) |
| AC_SUBST(lib_target) |
| |
| APRUTIL_LIBNAME="aprutil${libsuffix}" |
| AC_SUBST(APRUTIL_LIBNAME) |
| |
| # Set up destination directory for DSOs. |
| APU_DSO_LIBDIR="\${libdir}/apr-util-${APRUTIL_MAJOR_VERSION}" |
| # Set APU_HAVE_MODULES appropriately for the Makefile |
| if test -n "$APU_MODULES"; then |
| APU_HAVE_MODULES=yes |
| else |
| APU_HAVE_MODULES=no |
| fi |
| # Define expanded libdir for apu_config.h |
| APR_EXPAND_VAR(abs_dso_libdir, $APU_DSO_LIBDIR) |
| AC_DEFINE_UNQUOTED([APU_DSO_LIBDIR], ["$abs_dso_libdir"], |
| [Define to be absolute path to DSO directory]) |
| AC_SUBST(APU_HAVE_MODULES) |
| AC_SUBST(APU_DSO_LIBDIR) |
| AC_SUBST(APU_MODULES) |
| AC_SUBST(EXTRA_OBJECTS) |
| |
| dnl |
| dnl Prep all the flags and stuff for compilation and export to other builds |
| dnl |
| APR_ADDTO(APRUTIL_LIBS, [$APR_LIBS]) |
| |
| AC_SUBST(APRUTIL_EXPORT_LIBS) |
| AC_SUBST(APRUTIL_PRIV_INCLUDES) |
| AC_SUBST(APRUTIL_INCLUDES) |
| AC_SUBST(APRUTIL_LDFLAGS) |
| AC_SUBST(APRUTIL_LIBS) |
| AC_SUBST(LDFLAGS) |
| |
| dnl copy apr's rules.mk into our build directory. |
| if test ! -d ./build; then |
| $mkdir_p build |
| fi |
| cp $APR_BUILD_DIR/apr_rules.mk $abs_builddir/build/rules.mk |
| |
| dnl |
| dnl BSD/OS (BSDi) needs to use a different include syntax in the Makefiles |
| dnl |
| case "$host_alias" in |
| *bsdi* | BSD/OS) |
| # Check whether they've installed GNU make |
| if make --version > /dev/null 2>&1; then |
| INCLUDE_RULES="include $abs_builddir/build/rules.mk" |
| INCLUDE_OUTPUTS="include $abs_srcdir/build-outputs.mk" |
| else |
| INCLUDE_RULES=".include \"$abs_builddir/build/rules.mk\"" |
| INCLUDE_OUTPUTS=".include \"$abs_srcdir/build-outputs.mk\"" |
| fi |
| ;; |
| *) |
| INCLUDE_RULES="include $abs_builddir/build/rules.mk" |
| INCLUDE_OUTPUTS="include $abs_srcdir/build-outputs.mk" |
| ;; |
| esac |
| AC_SUBST(INCLUDE_RULES) |
| AC_SUBST(INCLUDE_OUTPUTS) |
| |
| for d in include include/private; do |
| test -d $top_builddir/$d || mkdir $top_builddir/$d |
| done |
| |
| AC_CONFIG_FILES([Makefile export_vars.sh |
| build/pkg/pkginfo apr-util.pc |
| apu-$APRUTIL_MAJOR_VERSION-config:apu-config.in |
| include/private/apu_select_dbm.h |
| include/apr_ldap.h |
| include/apu.h include/apu_want.h]) |
| |
| AC_CONFIG_COMMANDS([default], [ |
| chmod +x apu-$APRUTIL_MAJOR_VERSION-config |
| ],[ |
| APRUTIL_MAJOR_VERSION=$APRUTIL_MAJOR_VERSION |
| ]) |
| |
| if test -d $srcdir/test; then |
| AC_CONFIG_FILES([test/Makefile]) |
| fi |
| |
| AC_OUTPUT |