summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in152
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