X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=configure.ac;h=c6bad937875585d7c6a6737f02a3aed5fe06ba78;hb=8e494be7d760b4fe8f5b0d9e48a19b2dca7d962b;hp=b18e7ec2246def4ce5c5886afefd8363c4e1e4df;hpb=e20e3368f69b5c03e2f25e85728d14e66ed00d3d;p=metaproxy-moved-to-github.git diff --git a/configure.ac b/configure.ac index b18e7ec..c6bad93 100644 --- a/configure.ac +++ b/configure.ac @@ -2,19 +2,19 @@ ## Process this file with autoconf to produce a configure script. # Autoconf and automake setup -AC_PREREQ(2.59) -AC_INIT([metaproxy],[1.0.8],[metaproxy-help@indexdata.dk]) +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_HEADERS([src/config.hpp]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_AUX_DIR([config]) AC_CANONICAL_SYSTEM -##AC_PREFIX_DEFAULT(`pwd`/install) -AM_INIT_AUTOMAKE([1.8]) +AM_INIT_AUTOMAKE([1.9]) -# Checks for programs. AC_PROG_CXX AC_PROG_CXXCPP AC_PROG_INSTALL @@ -23,98 +23,82 @@ 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]) + AC_DEFINE([HAVE_DL_SUPPORT],[1], + [Define to 1 if you have shared module support]) fi # Checks for libraries. -AC_CHECK_LIB(dl,dlopen) +AC_CHECK_LIB([dl],[dlopen]) +AC_CHECK_LIB([m],[main]) -boostdir="yes" -AC_ARG_WITH(boost, [ ---with-boost=PREFIX Boost library in PREFIX],[boostdir=$withval]) +AC_CHECK_FUNCS([localtime_r]) -if test "$boostdir" != "yes"; then - CPPFLAGS="-I${boostdir}/include" - LIBS="-L${boostdir}/lib" -fi - -AC_CHECK_LIB(pthread, main) - -AC_CHECK_LIB(boost_thread, main, [],[ - AC_MSG_NOTICE([boost thread library not found.]) - AC_MSG_ERROR([Install libboost-thread-dev (or similar)]) -]) - -AC_CHECK_LIB(boost_date_time, main, [],[ - AC_MSG_NOTICE([boost date_time library not found.]) - AC_MSG_ERROR([Install libboost-date-time-dev (or similar)]) -]) - -AC_CHECK_LIB(boost_program_options, main, [],[ - AC_MSG_NOTICE([boost program options library not found.]) - AC_MSG_ERROR([Install libboost-program-options-dev (or similar)]) -]) - -AC_CHECK_HEADER(boost/test/auto_unit_test.hpp,,[ - AC_MSG_NOTICE([boost test unit header not found.]) - AC_MSG_ERROR([Install libboost-test-dev (or similar)]) -]) - -AC_MSG_CHECKING([whether boost_unit_test_framework works]) -OLIBS=$LIBS -LIBS="$LIBS -lboost_unit_test_framework" -AC_TRY_LINK([ -#define BOOST_AUTO_TEST_MAIN -#include -BOOST_AUTO_UNIT_TEST( test ) -{ - BOOST_CHECK(true); -} -],[], -[ - AC_MSG_RESULT([yes]) - LIBS=$OLIBS -], -[ - AC_MSG_RESULT([no]) - AC_MSG_NOTICE([Boost unit test framework does not appear to work]) - AC_MSG_ERROR([Consult config.log for details]) -]) +USEMARCON_INIT ## YAZPP checks -YAZPP_INIT(threads,1.0.2) +YAZPP_INIT([threads],[1.2.7]) if test -z "$YAZPPLIB"; then - AC_MSG_ERROR([YAZ++ development libraries missing]) + AC_MSG_ERROR([YAZ++ development libraries missing]) fi +CPPFLAGS="$YAZPPINC $CPPFLAGS" +AC_MSG_CHECKING([if YAZ is version 4.2.28 or later]) +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include ]], + [[ +#if YAZ_VERSIONL < 0x4021c +#error too old +#endif +]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([newer version of YAZ required])] +) YAZ_DOC -# Checks for header files. -##AC_HEADER_STDC -##AC_HEADER_SYS_WAIT -##AC_HEADER_TIME -AC_CHECK_HEADERS(sys/select.h sys/socket.h iostream list vector stdexcept) -AC_CHECK_HEADERS(boost/thread/mutex.hpp \ - boost/date_time/posix_time/posix_time.hpp \ - boost/regex.hpp \ - boost/test/auto_unit_test.hpp) +ID_BOOST([thread test regex],[1.33]) +if test -z "${BOOST_THREAD_LIB}"; then + AC_MSG_ERROR([Boost thread development libraries required]) +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 -# Checks for typedefs, structures, and compiler characteristics. -##AC_TYPE_SIZE_T -##AC_CHECK_SIZEOF(int) -##AC_CHECK_SIZEOF(long int) +xml_avail=false +xslt_avail=false +YAZ_LIBXML2([xml_avail=true]) +if $xml_avail; then + YAZ_LIBXSLT([xslt_avail=true]) +else + AC_MSG_ERROR([Libxml2 development files not found]) +fi +if $xslt_avail; then + : +else + AC_MSG_ERROR([Libxslt development files not found]) +fi +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 - src/Jamfile xml/Makefile xml/schema/Makefile xml/xslt/Makefile @@ -123,13 +107,10 @@ AC_CONFIG_FILES([ doc/common/Makefile doc/common/print.dsl etc/Makefile -]) - -AC_OUTPUT - - -# postamble +],[ + sed s%echo_source=yes%echo_source=no%g < metaproxy-config > src/metaproxy-config && chmod +x metaproxy-config src/metaproxy-config +]) echo \ "------------------------------------------------------------------------ @@ -148,6 +129,10 @@ echo \ 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} @@ -155,3 +140,8 @@ echo \ Bugreport: ${PACKAGE_BUGREPORT} ------------------------------------------------------------------------" +dnl Local Variables: +dnl mode:shell-script +dnl sh-indentation: 2 +dnl sh-basic-offset: 4 +dnl End: