Blame configure.in

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