diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..c7a2f3d --- /dev/null +++ b/configure.in @@ -0,0 +1,152 @@ +dnl Require autoconf 2.53 for an AC_C_BIGENDIAN which supports +dnl cross-compiling. +AC_PREREQ(2.53) + +dnl Extract the version (sans LF) from .version, created at release-time. +m4_define(ne_version, [esyscmd([echo -n `cat .version`])]) + +AC_INIT(neon, ne_version, [neon@webdav.org]) + +AC_COPYRIGHT([Copyright (c) 2000, 2001, 2002 Joe Orton +This configure script may be copied, distributed and modified under the +terms of the GNU Library General Public license; see COPYING for more details]) + +AC_CONFIG_HEADER(config.h) +AC_CONFIG_SRCDIR(src/ne_request.c) + +NEON_WITH_LIBS + +# Pass through initial LDFLAGS verbatim to neon-config, so that extra +# libraries which are detected (e.g. OpenSSL) can still be found when +# building using the --libs output of neon-config. +user_LDFLAGS=$LDFLAGS +AC_SUBST(user_LDFLAGS) + +# By default, allow 'make install' to work. +ALLOW_INSTALL=yes +AC_SUBST(ALLOW_INSTALL) + +# Always defined +AC_DEFINE([_GNU_SOURCE], 1, [Unconditionally define _GNU_SOURCE]) +# Defined when neon is built as library +AC_DEFINE(NEON_IS_LIBRARY, 1, [Define when building neon as a library]) + +AC_PROG_INSTALL + +AC_DISABLE_SHARED +AC_PROG_LIBTOOL + +AC_EXEEXT + +top_builddir=`pwd` +AC_SUBST(top_builddir) + +AC_ARG_ENABLE(webdav, +AC_HELP_STRING([--disable-webdav], [disable WebDAV support])) + +if test "$enable_webdav" = "no"; then + NEON_WITHOUT_WEBDAV +else + # Yes, we do need an XML parser. The _BUNDLED macros handle + # this normally. + NEON_NEED_XML_PARSER=yes +fi + +# The bundled macros also set this, which makes sure we recurse +# into the 'src' directory. +NEON_BUILD_BUNDLED=yes +AC_SUBST(NEON_BUILD_BUNDLED) + +# Define NEON_VERSION* and make the appropriate substitutions. +NEON_VERSIONS + +# Pass the interface version on to libtool when linking libneon.la +NEON_LINK_FLAGS="-version-info ${NEON_INTERFACE_VERSION}" + +LIBNEON_SOURCE_CHECKS + +# Use the libtool-type build. +NEON_LIBTOOL_BUILD +# Checks to compile test suite +NEON_TEST +# Find an XML parser +NEON_XML_PARSER +# Extra checks for debugging, compiler warnings +NEON_DEBUG +# Leave till last to prevent CFLAGS affecting checks. +NEON_WARNINGS + +CFLAGS="$CFLAGS -I\${top_builddir}" + +dnl Substitute NEON_VERSION for neon-config too. +AC_SUBST(NEON_VERSION) + +AC_ARG_ENABLE(memleak, +AC_HELP_STRING([--enable-memleak], [for test builds only: enable memory leak checking])) + +dnl Have autoheader include the following template in config.h.in: +AH_VERBATIM([NEON_MEMLEAK], +[/* Enable memory leak detection. */ +#ifdef NEON_MEMLEAK +# include "memleak.h" +#endif]) + +if test "$enable_memleak" = "yes"; then + CPPFLAGS="$CPPFLAGS -DNEON_MEMLEAK -I\$(top_srcdir)/src" + # disable 'make install' + ALLOW_INSTALL=memleak +fi + +# Enable tests for optional features +TESTS="\$(BASIC_TESTS)" +HELPERS="" +if test "$NEON_SUPPORTS_SSL" = "yes"; then + # Only enable SSL tests if an openssl binary is found (needed to make + # certs etc). + AC_PATH_PROG(OPENSSL, openssl, notfound) + if test "$OPENSSL" != "notfound"; then + TESTS="$TESTS \$(SSL_TESTS)" + HELPERS="$HELPERS \$(SSL_HELPERS)" + else + AC_MSG_WARN([no openssl binary in \$PATH: SSL tests disabled]) + fi +fi +if test "$NEON_SUPPORTS_DAV" = "yes"; then + TESTS="$TESTS \$(DAV_TESTS)" +fi +if test "$NEON_SUPPORTS_ZLIB" = "yes"; then + TESTS="$TESTS \$(ZLIB_TESTS)" + HELPERS="$HELPERS \$(ZLIB_HELPERS)" +fi +AC_SUBST(HELPERS) +AC_SUBST(TESTS) + +AC_CONFIG_FILES([neon-config], [chmod +x neon-config]) +AC_CONFIG_FILES([Makefile src/Makefile test/Makefile neon.pc]) + +AC_OUTPUT + +# for VPATH builds: +test -d test/common || mkdir test/common + +AC_MSG_NOTICE([Configured to build AC_PACKAGE_STRING: + + Install prefix: ${prefix} + Compiler: ${CC} + XML Parser: ${neon_xml_parser_message} + SSL library: ${neon_ssl_message} + zlib support: ${neon_zlib_message} + Build libraries: Shared=${enable_shared}, Static=${enable_static} + +Now run 'make' to compile the neon library. +]) + +case $ALLOW_INSTALL in +memleak) + AC_MSG_NOTICE([Configured with development-only flags: + +WARNING: This copy of neon has been configured with memory leak checking +WARNING: enabled, which should only be used in a development copy of neon. +WARNING: This neon library should not be installed for use by applications. +]);; +esac |