summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in219
1 files changed, 219 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..ffd5acd
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,219 @@
+dnl Autoconf file for Serf
+
+AC_PREREQ(2.50)
+AC_INIT(context.c)
+
+AC_CONFIG_AUX_DIR(build)
+
+sinclude(build/apr_common.m4)
+sinclude(build/find_apr.m4)
+
+AC_PREFIX_DEFAULT(/usr/local/serf)
+
+dnl Get the layout here, so we can pass the required variables to apr
+APR_ENABLE_LAYOUT(Serf, [])
+
+dnl reparse the configure arguments.
+APR_PARSE_ARGUMENTS
+
+APR_SAVE_THE_ENVIRONMENT(CPPFLAGS)
+APR_SAVE_THE_ENVIRONMENT(CFLAGS)
+APR_SAVE_THE_ENVIRONMENT(CXXFLAGS)
+APR_SAVE_THE_ENVIRONMENT(LDFLAGS)
+APR_SAVE_THE_ENVIRONMENT(LIBS)
+APR_SAVE_THE_ENVIRONMENT(INCLUDES)
+
+APR_CONFIG_NICE(config.nice)
+
+nl='
+'
+dnl Check that mkdir -p works
+APR_MKDIR_P_CHECK($top_srcdir/build/mkdir.sh)
+AC_SUBST(mkdir_p)
+
+dnl ## Run configure for packages Apache uses
+
+dnl shared library support for these packages doesn't currently
+dnl work on some platforms
+
+AC_CANONICAL_SYSTEM
+
+orig_prefix="$prefix"
+
+echo $ac_n "${nl}Configuring Apache Portable Runtime library...${nl}"
+
+APR_FIND_APR("$srcdir/apr", "./apr", 1, 0 1 2)
+
+if test "$apr_found" = "no"; then
+ AC_MSG_ERROR([APR not found. Please read the documentation.])
+fi
+
+if test "$apr_found" = "reconfig"; then
+ APR_SUBDIR_CONFIG(apr,
+ [--prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir --datadir=$datadir --with-installbuilddir=$installbuilddir],
+ [--enable-layout=*|\'--enable-layout=*])
+ dnl We must be the first to build and the last to be cleaned
+ SERF_BUILD_SRCLIB_DIRS="apr $SERF_BUILD_SRCLIB_DIRS"
+ SERF_CLEAN_SRCLIB_DIRS="$SERF_CLEAN_SRCLIB_DIRS apr"
+fi
+
+APR_SETIFNULL(CC, `$apr_config --cc`)
+APR_SETIFNULL(CPP, `$apr_config --cpp`)
+APR_SETIFNULL(APR_LIBTOOL, `$apr_config --apr-libtool`)
+APR_ADDTO(CFLAGS, `$apr_config --cflags`)
+APR_ADDTO(CPPFLAGS, `$apr_config --cppflags`)
+APR_ADDTO(LDFLAGS, `$apr_config --ldflags`)
+SHLIBPATH_VAR=`$apr_config --shlib-path-var`
+APR_BINDIR=`$apr_config --bindir`
+APR_INCLUDES=`$apr_config --includes`
+APR_VERSION=`$apr_config --version`
+APR_CONFIG="$apr_config"
+
+APR_SETIFNULL(LTFLAGS, "--silent")
+AC_SUBST(LTFLAGS)
+
+AC_SUBST(APR_LIBTOOL)
+AC_SUBST(APR_BINDIR)
+AC_SUBST(APR_INCLUDES)
+AC_SUBST(APR_VERSION)
+AC_SUBST(APR_CONFIG)
+
+APR_VERSION_MAJOR="`echo \"$APR_VERSION\" | sed 's,\..*,,'`"
+APR_VERSION_NUM="`echo \"$APR_VERSION\" | \
+ sed -e 's/[[^0-9\.]].*$//' \
+ -e 's/\.\([[0-9]]\)$/.0\1/' \
+ -e 's/\.\([[0-9]][[0-9]]\)$/.0\1/' \
+ -e 's/\.\([[0-9]]\)\./0\1/; s/\.//g;'`"
+
+if test "$APR_VERSION_NUM" -ge "200000"; then
+
+ APU_BINDIR=""
+ APU_INCLUDES=""
+ APU_VERSION=""
+ APU_CONFIG=""
+
+else
+ sinclude(build/find_apu.m4)
+
+ echo $ac_n "${nl}Configuring Apache Portable Runtime Utility library...${nl}"
+
+ ifdef([APR_FIND_APU], [
+ APR_FIND_APU("$srcdir/apr-util", "./apr-util", 1, $APR_VERSION_MAJOR)
+ ], [AC_MSG_ERROR([APR-util required, but find_apu.m4 not present!])])
+
+ if test "$apu_found" = "no"; then
+ AC_MSG_ERROR([APR-util not found. Please read the documentation.])
+ fi
+
+ # Catch some misconfigurations:
+ case ${apr_found}.${apu_found} in
+ reconfig.yes)
+ AC_MSG_ERROR([Cannot use an external APR-util with the bundled APR])
+ ;;
+ yes.reconfig)
+ AC_MSG_ERROR([Cannot use an external APR with the bundled APR-util])
+ ;;
+ esac
+
+ if test "$apu_found" = "reconfig"; then
+ APR_SUBDIR_CONFIG(apr-util,
+ [--with-apr=../apr --prefix=$prefix --exec-prefix=$exec_prefix --libdir=$libdir --includedir=$includedir --bindir=$bindir],
+ [--enable-layout=*|\'--enable-layout=*])
+ dnl We must be the last to build and the first to be cleaned
+ SERF_BUILD_SRCLIB_DIRS="$SERF_BUILD_SRCLIB_DIRS apr-util"
+ SERF_CLEAN_SRCLIB_DIRS="apr-util $SERF_CLEAN_SRCLIB_DIRS"
+ fi
+
+ APR_ADDTO(LDFLAGS, `$apu_config --ldflags`)
+ APU_BINDIR=`$apu_config --bindir`
+ APU_INCLUDES=`$apu_config --includes`
+ APU_VERSION=`$apu_config --version`
+ APU_CONFIG="$APU_BINDIR/apu-`echo ${APU_VERSION} | sed 's,\..*,,'`-config"
+fi
+
+AC_SUBST(APU_BINDIR)
+AC_SUBST(APU_INCLUDES)
+AC_SUBST(APU_VERSION)
+AC_SUBST(APU_CONFIG)
+
+dnl In case we picked up CC and CPP from APR, get that info into the
+dnl config cache so that PCRE uses it. Otherwise, CC and CPP used for
+dnl PCRE and for our config tests will be whatever PCRE determines.
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_INSTALL
+
+if test "x${cache_file}" = "x/dev/null"; then
+ # Likewise, ensure that CC and CPP are passed through to the pcre
+ # configure script iff caching is disabled (the autoconf 2.5x default).
+ export CC; export CPP
+fi
+
+echo $ac_n "Configuring Serf...${nl}"
+
+dnl Absolute source/build directory
+abs_srcdir=`(cd $srcdir && pwd)`
+abs_builddir=`pwd`
+
+dnl get our version information
+get_version="$abs_srcdir/build/get-version.sh"
+version_hdr="$abs_srcdir/serf.h"
+SERF_MAJOR_VERSION="`$get_version major $version_hdr SERF`"
+SERF_DOTTED_VERSION="`$get_version all $version_hdr SERF`"
+
+AC_SUBST(SERF_MAJOR_VERSION)
+AC_SUBST(SERF_DOTTED_VERSION)
+
+AC_SUBST(SERF_BUILD_SRCLIB_DIRS)
+AC_SUBST(SERF_CLEAN_SRCLIB_DIRS)
+
+AC_ARG_WITH(openssl,
+ APR_HELP_STRING([--with-openssl=PATH],[Path to OpenSSL (eg. /usr/local/ssl)]),
+[
+ if test "$withval" = "yes"; then
+ AC_MSG_ERROR([--with-openssl requires a path])
+ else
+ openssl_prefix=$withval
+
+ if test "x$openssl_prefix" != "x" -a ! -d "$openssl_prefix"; then
+ AC_MSG_ERROR('--with-openssl requires a path to a directory')
+ fi
+
+ APR_ADDTO(CPPFLAGS, "-I${openssl_prefix}/include")
+ if test -e "${openssl_prefix}/Makefile"; then
+ APR_ADDTO(LDFLAGS, "-L${openssl_prefix}")
+ APR_ADDTO(LDFLAGS, "-R${openssl_prefix}")
+ else
+ APR_ADDTO(LDFLAGS, "-L${openssl_prefix}/lib")
+ APR_ADDTO(LDFLAGS, "-R${openssl_prefix}/lib")
+ fi
+ fi
+])
+
+dnl Look for OpenSSL
+AC_CHECK_HEADER([openssl/opensslv.h], [],
+ [AC_MSG_ERROR([We require OpenSSL; try --with-openssl])])
+
+dnl CuTest requires libm on Solaris
+AC_SEARCH_LIBS(fabs, m)
+
+libs=""
+if test -n "$apu_config"; then
+ APR_ADDTO(libs, [`$apu_config --link-libtool --libs`])
+fi
+APR_ADDTO(libs, [`$apr_config --link-libtool --libs` $LIBS])
+
+APR_ADDTO(SERF_LIBS, [$libs])
+AC_SUBST(SERF_LIBS)
+
+APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
+APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_)
+APR_RESTORE_THE_ENVIRONMENT(CXXFLAGS, EXTRA_)
+APR_RESTORE_THE_ENVIRONMENT(LDFLAGS, EXTRA_)
+APR_RESTORE_THE_ENVIRONMENT(LIBS, EXTRA_)
+APR_RESTORE_THE_ENVIRONMENT(INCLUDES, EXTRA_)
+
+AC_CONFIG_FILES([Makefile serf.pc])
+AC_CONFIG_COMMANDS([mkdir-vpath],[make mkdir-vpath])
+
+AC_OUTPUT