| 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) |
| sinclude(build/dbm.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 |
| |
| 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 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`) |
| |
| 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_FIND_EXPAT |
| APU_FIND_ICONV |
| |
| 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 |
| APR_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) |
| |
| EXTRA_OS_LINK="" |
| host_alias=`uname -s` |
| case "$host_alias" in |
| 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 :) |
| *AIX*|*Darwin*|*BeOS*|CYGWIN*) |
| 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. |
| 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" |
| else |
| INCLUDE_RULES=".include \"$abs_builddir/build/rules.mk\"" |
| fi |
| ;; |
| *) |
| INCLUDE_RULES="include $abs_builddir/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 |
| build/pkg/pkginfo |
| include/private/apu_select_dbm.h |
| include/apr_ldap.h |
| include/apu.h |
| include/apu_want.h |
| $MAKEFILES |
| ],[ |
| chmod +x apu-config |
| ]) |