X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=configure.ac;h=8d744efd414fac1d617ba1dd9536a219bada4815;hb=ac87b6c9126c8838095daf27bff963b457a8acaa;hp=b611303df9efabd1a1c08a83d2cd2858e81dcb56;hpb=74420da6f0c5cffc13ac62d7d845fade996e7c0f;p=metaproxy-moved-to-github.git diff --git a/configure.ac b/configure.ac index b611303..8d744ef 100644 --- a/configure.ac +++ b/configure.ac @@ -2,20 +2,19 @@ ## Process this file with autoconf to produce a configure script. # Autoconf and automake setup -AC_PREREQ(2.57) -AC_INIT(yp2, 0.0.1, marc@indexdata.dk) -AM_CONFIG_HEADER(src/config.hpp) +AC_PREREQ([2.60]) +AC_INIT([metaproxy], +m4_esyscmd([. ./IDMETA; echo $VERSION|tr -d '\n']), +[metaproxy-help@indexdata.dk]) +AC_CONFIG_HEADERS([src/config.hpp]) -AC_CONFIG_SRCDIR(configure.ac) -AC_CONFIG_AUX_DIR(config) +AC_CONFIG_SRCDIR([configure.ac]) +AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_SYSTEM -##AC_PREFIX_DEFAULT(`pwd`/install) -AM_INIT_AUTOMAKE +AM_INIT_AUTOMAKE([1.9]) - -# Checks for programs. AC_PROG_CXX AC_PROG_CXXCPP AC_PROG_INSTALL @@ -24,104 +23,94 @@ AC_PROG_MAKE_SET AC_PROG_RANLIB AM_PROG_LIBTOOL -# Use C++ compilers only for tests -AC_LANG(C++) +# Default language to use for tests (some tests may switch to C++) +AC_LANG([C]) + +if test "$enable_shared" = "yes"; then + AC_DEFINE([HAVE_DL_SUPPORT],[1], + [Define to 1 if you have shared module support]) +fi # Checks for libraries. -##AC_CHECK_LIB(ibrary, main) -AC_CHECK_LIB(boost_thread, main, [],[ - AC_MSG_ERROR([boost thread library not found. Install libboost-thread-dev (or similar)]) -]) +AC_CHECK_LIB([dl],[dlopen]) +AC_CHECK_LIB([m],[main]) -AC_MSG_CHECKING([for boost_unit_test_framework presence]) -OLIBS=$LIBS -LIBS="$LIBS -lboost_unit_test_framework" -AC_TRY_LINK([ -#define BOOST_AUTO_TEST_MAIN -#include -BOOST_AUTO_TEST_CASE( test ) -{ - BOOST_CHECK(true); -} -],[], -[ - AC_MSG_RESULT([yes]) - LIBS=$OLIBS -], -[ - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Install libboost-test-dev (or similar)]) -]) +AC_CHECK_FUNCS([localtime_r]) + +USEMARCON_INIT ## YAZPP checks -YAZPP_INIT(threads,1.0) +YAZPP_INIT([threads],[1.6.0]) if test -z "$YAZPPLIB"; then - AC_MSG_ERROR([YAZ++ development libraries missing]) + AC_MSG_ERROR([YAZ++ development libraries missing]) fi -##YAZ_DOC - -## libxslt checks -AC_SUBST(XSLT_LIBS) -AC_SUBST(XSLT_CFLAGS) -xsltdir=default -AC_ARG_WITH(xslt,[[ --with-xslt[=PREFIX] use libxslt in PREFIX]],xsltdir=$withval) -if test "$xsltdir" = "yes" -o "$xsltdir" = "default"; then - for d in /usr /usr/local; do - if test -x $d/bin/xslt-config; then - xsltdir=$d - fi - done +CPPFLAGS="$YAZPPINC $CPPFLAGS" +AC_MSG_CHECKING([if YAZ is version 5.3.0 or later]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[ +#if YAZ_VERSIONL < 0x50300 +#error too old +#endif +]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([newer version of YAZ required])] +) +YAZ_DOC + +ID_BOOST([system thread test regex],[1.33]) +if test -z "${BOOST_THREAD_LIB}"; then + AC_MSG_ERROR([Boost thread development libraries required]) fi -if test "$xsltdir" != "no"; then - AC_MSG_CHECKING(for libXSLT) - if test -x $xsltdir/bin/xslt-config; then - XSLT_LIBS=`$xsltdir/bin/xslt-config --libs` - XSLT_CFLAGS=`$xsltdir/bin/xslt-config --cflags` - XSLT_VER=`$xsltdir/bin/xslt-config --version` - AC_MSG_RESULT($XSLT_VER) - AC_DEFINE([HAVE_XSLT],[1], - [Define to 1 if you have libxslt installed]) - else - AC_MSG_RESULT(Not found) - if test "$xsltdir" = "default"; then - AC_MSG_WARN([Libxslt development libraries not found.]) - else - AC_MSG_ERROR([libxslt development libraries not found.]) fi - fi +if test -z "${BOOST_TEST_LIB}"; then + AC_MSG_ERROR([Boost unit test framework libraries required]) +fi +if test -z "${BOOST_REGEX_LIB}"; then + AC_MSG_ERROR([Boost regex development libraries required]) fi +case $YAZPPINC in + *YAZ_HAVE_XSLT=1*) ;; + *) AC_MSG_ERROR([YAZ not compiled with Libxslt support]) ;; +esac -# Checks for header files. -##AC_HEADER_STDC -##AC_HEADER_SYS_WAIT -##AC_HEADER_TIME -AC_CHECK_HEADERS(iostream list vector stdexcept) -AC_CHECK_HEADERS(boost/thread/mutex.hpp boost/test/auto_unit_test.hpp) - -# Checks for typedefs, structures, and compiler characteristics. -##AC_TYPE_SIZE_T -##AC_CHECK_SIZEOF(int) -##AC_CHECK_SIZEOF(long int) - +AC_CHECK_HEADERS([sys/select.h sys/socket.h]) -# Checks for library functions. +if test -d ${srcdir}/.git; then + SHA1=`git show --pretty=format:%H|head -1` +else + SHA1=`head -1 ${srcdir}/ChangeLog|awk '{print $2}'` +fi +AC_DEFINE_UNQUOTED([VERSION_SHA1], "$SHA1", [SHA-1 from Git]) -AC_CONFIG_FILES([ +AC_OUTPUT([ + metaproxy-config Doxyfile Makefile + include/Makefile include/metaproxy/Makefile src/Makefile + xml/Makefile + xml/schema/Makefile + xml/xslt/Makefile + doc/Makefile + doc/local0.ent + doc/common/Makefile + doc/common/print.dsl + etc/Makefile +],[ + sed s%echo_source=yes%echo_source=no%g < metaproxy-config > src/metaproxy-config && chmod +x metaproxy-config src/metaproxy-config + diff doc/local.ent doc/local0.ent >/dev/null 2>/dev/null \ + || cp doc/local0.ent doc/local.ent ]) -AC_OUTPUT - - -# postamble - echo \ "------------------------------------------------------------------------ -Configuration: + Package: ${PACKAGE} + Version: ${VERSION} Source code location: ${srcdir} + CPP Preprocessor: ${CPP} CPP Preprocessor flags: ${CPPFLAGS} CXX Compiler: ${CXX} CXX Compiler flags: ${CXXFLAGS} @@ -130,5 +119,21 @@ Configuration: Host System Type: ${host} Install path: ${prefix} Automake: ${AUTOMAKE} + Archiver: ${AR} + Ranlib: ${RANLIB} + Boost Version: ${BOOST_VERSION} + Boost Include: ${BOOST_CPPFLAGS} + Boost linker flags: ${BOOST_LDFLAGS} + Boost Libs: ${BOOST_DATE_TIME_LIB} ${BOOST_THREAD_LIB} + YAZPP Version: ${YAZPPVERSION} + YAZPP Include: ${YAZPPINC} + YAZPP La Lib: ${YAZPPLALIB} + YAZPP Lib: ${YAZPPLIB} + Bugreport: ${PACKAGE_BUGREPORT} ------------------------------------------------------------------------" +dnl Local Variables: +dnl mode:shell-script +dnl sh-indentation: 2 +dnl sh-basic-offset: 4 +dnl End: