From af946e5e94c6fc4c1f5c37e8a87b5fdd08ea21ae Mon Sep 17 00:00:00 2001 From: joe Date: Sat, 20 Sep 2014 18:57:32 +0000 Subject: * configure.ac: Rename from configure.in. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1939 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845 --- configure.ac | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 configure.ac (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..37b14ec --- /dev/null +++ b/configure.ac @@ -0,0 +1,213 @@ +AC_PREREQ(2.58) dnl 2.58 required for AS_HELP_STRING + +dnl Extract the version (sans LF) from .version, created at release-time. +m4_define(ne_version, [m4_translit(m4_include(.version), [ +])]) + +AC_INIT(neon, ne_version, [neon@lists.manyfish.co.uk]) + +AC_COPYRIGHT([Copyright 2000-2010 Joe Orton and others +This configure script may be copied, distributed and modified under the +terms of the GNU Library General Public license; see src/COPYING.LIB 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 + +# By default, allow 'make install' to work. +ALLOW_INSTALL=yes + +AC_DEFINE([_GNU_SOURCE], 1, [Always defined to enable GNU extensions]) +AC_DEFINE([NEON_IS_LIBRARY], 1, [Defined when neon is built as a library]) + +AH_BOTTOM([ +/* Enable leak-tracking versions of ne_*alloc when NEON_MEMLEAK is enabled */ +#ifdef NEON_MEMLEAK +# include "memleak.h" +#endif]) + +AC_PROG_INSTALL + +AC_ARG_ENABLE(webdav, + AS_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 + +# Define NEON_VERSION etc and make the appropriate substitutions. +NE_VERSIONS_BUNDLED + +LIBNEON_SOURCE_CHECKS + +dnl Avoid libtool 1.5 bug where configure fails if a C++ compiler +dnl is not available. +m4_ifdef([AC_LIBTOOL_TAGS], [AC_LIBTOOL_TAGS([])]) + +AC_DISABLE_SHARED +m4_ifdef([LT_INIT], [LT_INIT], [AC_PROG_LIBTOOL]) + +AC_EXEEXT + +# Checks to compile test suite +NEON_TEST + +# Use the libtool-type build. +NEON_LIBTOOL_BUILD +# Find an XML parser +NEON_XML_PARSER +# Internationalization support. +NEON_I18N() + +# Extra checks for debugging, compiler warnings +NEON_DEBUG +# Leave till last to prevent CFLAGS affecting checks. +NEON_WARNINGS + +CPPFLAGS="$CPPFLAGS -I\${top_builddir}" + +AC_ARG_ENABLE(memleak, + AS_HELP_STRING([--enable-memleak], + [for test builds only: enable memory leak checking])) + +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 $NE_FLAG_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 + + AC_PATH_PROG(CERTUTIL, certutil, notfound) + AC_PATH_PROG(PK12UTIL, pk12util, notfound) +fi +if test $NE_FLAG_ZLIB = yes; then + TESTS="$TESTS \$(ZLIB_TESTS)" + HELPERS="$HELPERS \$(ZLIB_HELPERS)" +fi +if test x$enable_webdav != xno; then + TESTS="$TESTS \$(DAV_TESTS)" +fi + +AC_ARG_ENABLE(tests-install, + AS_HELP_STRING([--enable-tests-install], + [enable installation of the test suite]),, + [enable_tests_install=no]) + +# If test suite installation is not required, it's more +# efficient to link the test programs using -no-install: +if test "$enable_tests_install" = "no"; then + TEST_LDFLAGS="-no-install" +fi + +AC_SUBST(TEST_LDFLAGS) + +AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +if test "$PKG_CONFIG" != "no"; then + # pkg-config >= 0.18 will use "Libs.private" iff necessary, + # older versions which don't recognize that field may always + # need all libraries in Libs. + if $PKG_CONFIG --atleast-pkgconfig-version=0.18; then :; else + NEON_PC_LIBS=${NEON_LIBS} + fi +fi +AC_SUBST(NEON_PC_LIBS) + +# Pass the interface version on to libtool when linking libneon.la +NEON_LINK_FLAGS="-version-info ${NE_LIBTOOL_VERSINFO}" +# If any non-default ABI variations are used, add them to the SONAME: +### disabled for backwards-compat with 0.27.x +#if test "x${NE_LIBTOOL_RELEASE}y" != "xy"; then +# NEON_LINK_FLAGS="${NEON_LINK_FLAGS} -release ${NE_LIBTOOL_RELEASE}" +#fi + +gl_LD_VERSION_SCRIPT +# If ld version scripts are supported, enable symbol versioning. +# Otherwise, fall back to any libtool-supported symbol export +# restrictions; ne__* symbols are not exported. +if test "x$have_ld_version_script" = "xyes"; then + NEON_LINK_FLAGS="$NEON_LINK_FLAGS -Wl,--version-script=\$(top_srcdir)/src/neon.vers" +else + NEON_LINK_FLAGS="$NEON_LINK_FLAGS -export-symbols-regex '^ne_[[^_]]'" +fi + +if test x${enable_shared}${pic_mode}z = xnodefaultz; then + CFLAGS="$CFLAGS -prefer-pic" + AC_MSG_NOTICE([Using PIC for static library build]) +fi + +if test x${enable_shared} = xno; then + # Defining NE_PRIVATE as the empty string would work; using a + # non-empty but redundant string 'extern' avoids any possible cpp + # confusion with from an empty macro. + CPPFLAGS="$CPPFLAGS -DNE_PRIVATE=extern" + AC_MSG_NOTICE([Private symbol suppression disabled for static library build]) +fi + +# Bundled language catalogs +ALL_LINGUAS="cs de fr ja nn pl ru tr zh_CN" +AC_SUBST(ALL_LINGUAS) + +AC_CONFIG_FILES([neon-config], [chmod +x neon-config]) +AC_CONFIG_FILES([Makefile src/Makefile test/Makefile neon.pc]) +AC_CONFIG_FILES([test/makekeys:test/makekeys.sh], [chmod +x test/makekeys]) + +AC_SUBST(NEON_VERSION) +AC_SUBST(NEON_BUILD_BUNDLED) +AC_SUBST(top_builddir) +AC_SUBST(user_LDFLAGS) +AC_SUBST(HELPERS) +AC_SUBST(TESTS) +AC_SUBST(ALLOW_INSTALL) + +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: ${ne_SSL_message} + zlib support: ${ne_ZLIB_message} + Build libraries: Shared=${enable_shared}, Static=${enable_static} +]) + +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 build of neon. +WARNING: This neon library should not be installed for use by applications. +]);; +esac -- cgit v1.2.1