| dnl |
| dnl Process this file with autoconf to produce a configure script |
| dnl |
| |
| AC_PREREQ(2.13) |
| 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) |
| |
| 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 |
| fi |
| |
| AC_CANONICAL_SYSTEM |
| |
| 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`" |
| |
| AC_SUBST(APRUTIL_DOTTED_VERSION) |
| AC_SUBST(APRUTIL_MAJOR_VERSION) |
| |
| 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 1. Find the APR includes directory and (possibly) the source (base) dir. |
| dnl 2. Determine what DBM backend type to use. |
| dnl 3. Find Expat |
| dnl 4. Find an iconv library |
| dnl |
| APU_FIND_APR |
| APU_FIND_LDAP |
| APU_CHECK_DBM |
| APU_FIND_EXPAT |
| APU_FIND_ICONV |
| |
| 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) |
| |
| EXTRA_OS_LINK="" |
| host_alias=`uname -s` |
| case "$host_alias" in |
| *BeOS*) |
| dnl ### BeOS requires that ALL symbols resolve at LINK time! |
| dnl ### |
| dnl ### So, if we're building on BeOS then we need to add in the |
| dnl ### apr and expat libraries to the build or it'll die a truly horrible |
| dnl ### death. We now use the apr-config tool to determine the correct |
| dnl ### library to link against :) |
| aprlib=`$apr_config --link-libtool` |
| EXTRA_OS_LINK="$aprlib $top_builddir/xml/expat/lib/libexpat.la" |
| ;; |
| *AIX*|*Darwin*) |
| dnl need such stuff as -liconv to be specified when building libaprutil.la |
| EXTRA_OS_LINK='$(APRUTIL_LDFLAGS) $(APRUTIL_LIBS)' |
| ;; |
| *) |
| ;; |
| esac |
| |
| AC_SUBST(EXTRA_OS_LINK) |
| |
| 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. |
| cp $APR_BUILD_DIR/apr_rules.mk $abs_srcdir/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_srcdir/build/rules.mk" |
| else |
| INCLUDE_RULES=".include \"$abs_srcdir/build/rules.mk\"" |
| fi |
| ;; |
| *) |
| INCLUDE_RULES="include $abs_srcdir/build/rules.mk" |
| ;; |
| esac |
| AC_SUBST(INCLUDE_RULES) |
| |
| if test -d ./test; then |
| test_Makefile="test/Makefile" |
| fi |
| |
| if test ! -d "$top_builddir/include/private"; then |
| mkdir $top_builddir/include |
| mkdir $top_builddir/include/private |
| fi |
| |
| dnl |
| dnl everthing is done. |
| MAKEFILES="Makefile buckets/Makefile crypto/Makefile dbm/Makefile dbm/sdbm/Makefile encoding/Makefile hooks/Makefile ldap/Makefile uri/Makefile xml/Makefile misc/Makefile strmatch/Makefile xlate/Makefile $test_Makefile" |
| AC_OUTPUT([ |
| export_vars.sh |
| apu-config |
| include/private/apu_select_dbm.h |
| include/apr_ldap.h |
| include/apu.h |
| $MAKEFILES |
| ],[ |
| chmod +x apu-config |
| ]) |