## Process this file with autoconf to produce a configure script.
# Autoconf and automake setup
-AC_PREREQ(2.59)
-AC_INIT([metaproxy],[1.0.9],[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
AM_PROG_LIBTOOL
# Default language to use for tests (some tests may switch to C++)
-AC_LANG(C)
+AC_LANG([C])
if test "$enable_shared" = "yes"; then
AC_DEFINE([HAVE_DL_SUPPORT],[1],
fi
# Checks for libraries.
-AC_CHECK_LIB(dl,dlopen)
-AC_CHECK_LIB(m,main)
+AC_CHECK_LIB([dl],[dlopen])
+AC_CHECK_LIB([m],[main])
+
+AC_CHECK_FUNCS([localtime_r])
+
+USEMARCON_INIT
## YAZPP checks
-YAZPP_INIT(threads,1.0.2)
+YAZPP_INIT([threads],[1.6.0])
if test -z "$YAZPPLIB"; then
AC_MSG_ERROR([YAZ++ development libraries missing])
fi
-YAZ_DOC
CPPFLAGS="$YAZPPINC $CPPFLAGS"
+AC_MSG_CHECKING([if YAZ is version 5.3.0 or later])
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[#include <yaz/yaz-version.h>]],
+ [[
+#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
-# check for Boost C++ development libs and headers
-
-AX_BOOST([1.32])
-if test "$ax_cv_boost_base" = "no"; then
- AC_MSG_ERROR([install libboost-dev or similar])
-fi
-if test "$ax_cv_boost_date_time" = "no"; then
- AC_MSG_ERROR([install libboost-date-time-dev or similar])
-fi
-if test "$ax_cv_boost_program_options" = "no"; then
- AC_MSG_ERROR([install libboost-program-options-dev or similar])
+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 "$ax_cv_boost_thread" = "no"; then
- AC_MSG_ERROR([install libboost-thread-dev or similar])
+if test -z "${BOOST_TEST_LIB}"; then
+ AC_MSG_ERROR([Boost unit test framework libraries required])
fi
-if test "$ax_cv_boost_unit_test_framework" = "no"; then
- AC_MSG_ERROR([install libboost-test-dev or similar])
+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(sys/select.h sys/socket.h iostream list vector stdexcept)
+AC_CHECK_HEADERS([sys/select.h sys/socket.h])
-# Checks for typedefs, structures, and compiler characteristics.
-##AC_TYPE_SIZE_T
-##AC_CHECK_SIZEOF(int)
-##AC_CHECK_SIZEOF(long int)
-
-# 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
doc/Makefile
- doc/local.ent
- doc/common/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 \
"------------------------------------------------------------------------
Boost Version: ${BOOST_VERSION}
Boost Include: ${BOOST_CPPFLAGS}
Boost linker flags: ${BOOST_LDFLAGS}
- Boost Libs: ${BOOST_DATE_TIME_LIB} ${BOOST_PROGRAM_OPTIONS_LIB} ${BOOST_THREAD_LIB}
+ Boost Libs: ${BOOST_DATE_TIME_LIB} ${BOOST_THREAD_LIB}
YAZPP Version: ${YAZPPVERSION}
YAZPP Include: ${YAZPPINC}
YAZPP La Lib: ${YAZPPLALIB}