X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=configure.ac;h=304d3f19349aadd851cb05dcbb6f37b7b3867cf8;hp=2b9cc87a63882397549e208df661721a4fdda89b;hb=d940392c53c32ccf76fb287cc5b997b9e921a431;hpb=44319ea2e76c8e53ceac85188f7bed0304f84767 diff --git a/configure.ac b/configure.ac index 2b9cc87..304d3f1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,11 +1,10 @@ -dnl YAZ Toolkit, Index Data 1994-2006 -dnl See the file LICENSE for details. -dnl $Id: configure.ac,v 1.26 2006-06-16 10:19:23 adam Exp $ -AC_PREREQ(2.59) -AC_INIT([yaz],[2.1.23],[adam@indexdata.dk]) +dnl This file is part of the YAZ toolkit. +dnl Copyright (C) 1995-2008 Index Data +AC_PREREQ(2.60) +AC_INIT([yaz],[3.0.28],[yaz-help@indexdata.dk]) AC_CONFIG_SRCDIR(configure.ac) AC_CONFIG_AUX_DIR([config]) -AM_INIT_AUTOMAKE([1.8]) +AM_INIT_AUTOMAKE([1.9]) dnl AC_SUBST(READLINE_LIBS) AC_SUBST(YAZ_CONF_CFLAGS) @@ -14,9 +13,8 @@ AC_PROG_CC AC_PROG_CPP AC_CHECK_PROGS(YACC, 'bison -y') test -z "$YACC" && AC_MSG_WARN([GNU bison not found]) -AC_CHECK_PROGS(TCLSH, tclsh8.5 tclsh8.4 tclsh8.3 tclsh8.2, tclsh) +AC_CHECK_PROGS([TCLSH], [tclsh tclsh8.5 tclsh8.4 tclsh8.3 tclsh8.2], [tclsh]) AC_PROG_INSTALL -AM_DISABLE_SHARED AM_PROG_LIBTOOL AC_PATH_PROG(pkgconfigpath, pkg-config, NONE) dnl @@ -24,7 +22,21 @@ YAZ_DOC dnl dnl dnl ------ Headers -AC_CHECK_HEADERS(dirent.h fnmatch.h wchar.h locale.h langinfo.h pwd.h sys/select.h sys/socket.h sys/stat.h sys/time.h sys/types.h sys/un.h sys/wait.h unistd.h) +AC_CHECK_HEADERS([dirent.h fnmatch.h wchar.h locale.h langinfo.h pwd.h unistd.h sys/select.h sys/socket.h sys/stat.h sys/time.h sys/times.h sys/types.h sys/un.h sys/wait.h netdb.h arpa/inet.h netinet/tcp.h netinet/in_systm.h]) +AC_CHECK_HEADERS([net/if.h netinet/in.h netinet/if_ether.h],[],[],[ + #if HAVE_SYS_TYPES_H + #include + #endif + #if HAVE_SYS_SOCKET_H + #include + #endif + #if HAVE_NET_IF_H + #include + #endif + #if HAVE_NETINET_IN_H + #include + #endif +]) AC_HEADER_STDC if test "$ac_cv_header_stdc" = "no"; then AC_MSG_WARN([Your system doesn not seem to support ANSI C]) @@ -165,7 +177,7 @@ if test "$with_iconv" != "no"; then ]) fi dnl ------ various functions -AC_CHECK_FUNCS(vsnprintf gettimeofday poll strerror_r localtime_r usleep fopen64) +AC_CHECK_FUNCS(getaddrinfo vsnprintf gettimeofday poll strerror_r localtime_r usleep fopen64) case $host in *-*-darwin*) trypoll="no"; @@ -239,7 +251,7 @@ if test "$enable_tcpd" -a "$enable_tcpd" != "no"; then CPPFLAGS="$CPPFLAGS -I$enable_tcpd/include" fi AC_MSG_CHECKING(for working tcpd.h) - LIBS="$LIBS -lwrap -lnsl" + LIBS="$LIBS -lwrap" AC_TRY_LINK([#include #include int allow_severity = LOG_INFO; @@ -258,80 +270,93 @@ if test "$enable_tcpd" -a "$enable_tcpd" != "no"; then fi fi dnl -AC_SUBST(THREAD_CFLAGS) -HAVETHREADS=0 -THREAD_CFLAGS="" -LIBTHREAD="" -dnl +AC_SUBST(YAZ_CONFIG_CFLAGS) dnl ------ GNU threads +HAVETHREADS=0 AC_ARG_ENABLE(pth, [ --enable-pth enable GNU threads],[enable_pth=$enableval],[enable_pth=no]) AC_SUBST(LIBPTH) if test "$enable_pth" = "yes"; then + PTH_LIBS="" OLIBS=$LIBS AC_CHECK_LIB(pth,main) if test "$ac_cv_lib_pth_main" = "yes"; then AC_CHECK_HEADERS(pth.h) if test "$ac_cv_header_pth_h" = "yes"; then - LIBTHREAD="-lpth" - THREAD_CFLAGS="-DYAZ_GNU_THREADS=1" + PTH_LIBS="-lpth" + CFLAGS="$CFLAGS -DYAZ_GNU_THREADS=1" HAVETHREADS=1 fi fi - LIBS="$OLIBS $LIBTHREAD" + LIBS="$OLIBS $PTH_LIBS" fi dnl dnl ------ POSIX Threads AC_ARG_ENABLE(threads, [ --disable-threads disable POSIX threads],[enable_threads=$enableval],[enable_threads=yes]) if test "$enable_threads" = "yes" -a "$HAVETHREADS" = "0"; then - OLIBS=$LIBS - OCC=$CC - AC_CHECK_LIB(pthread,main) - AC_MSG_CHECKING(for working POSIX Threads) - AC_TRY_LINK([#include - void *func(void *p) { return 0; } - ],[ - pthread_t pthread_id; - pthread_create (&pthread_id, 0, func, 0);], - thread_ok=yes,thread_ok=no) - if test "$thread_ok" = "yes"; then - AC_MSG_RESULT(yes) - LIBTHREAD="-lpthread" - THREAD_CFLAGS="-DYAZ_POSIX_THREADS=1 -D_REENTRANT" - HAVETHREADS=1 - else - CC="$CC -pthread" - AC_TRY_LINK([#include - void *func(void *p) { return 0; } - ],[ - pthread_t pthread_id; - pthread_create (&pthread_id, 0, func, 0);], - thread_ok=yes,thread_ok=no) - if test "$thread_ok" = "yes"; then - AC_MSG_RESULT([yes,BSD]) - THREAD_CFLAGS="-pthread -DYAZ_POSIX_THREADS=1 -D_REENTRANT" - LIBTHREAD="-pthread" - HAVETHREADS=1 - fi - fi - if test "$thread_ok" = "no"; then - AC_MSG_RESULT(no) - fi - CC=$OCC - LIBS="$OLIBS $LIBTHREAD" + ACX_PTHREAD([ + OCFLAGS=$CFLAGS + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + dnl unfortunately empty thread lib spec is problematic because + dnl 'yaz-config --cflags' is not always passed to linker in + dnl applications using YAZ (such as Zebra). + if test "x$PTHREAD_LIBS" = "x"; then + OLIBS=$LIBS + for lib in -lpthread -lpthreads -lc_r; do + LIBS="$lib $OLIBS" + AC_TRY_LINK([ #include ], + [ pthread_t id; pthread_join(id, 0); ], + [ PTHREAD_LIBS=$lib; break ] + ) + done + LIBS=$OLIBS + fi + CFLAGS=$OCFLAGS + PTHREAD_CFLAGS="$PTHREAD_CFLAGS -DYAZ_POSIX_THREADS=1" + ]) fi dnl ----- libXSLT/libEXLT/libXML2 AC_SUBST(XML2_CFLAGS) -YAZ_LIBXML2 -YAZ_LIBXSLT -YAZ_LIBEXSLT +xml_enabled=false +YAZ_LIBXML2( + [ + AC_DEFINE(YAZ_HAVE_XML2) + YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS -DYAZ_HAVE_XML2=1" + xml_enabled=true + ] +) + +YAZ_LIBXSLT( + [ + AC_DEFINE(YAZ_HAVE_XSLT) + YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS -DYAZ_HAVE_XSLT=1" + ] +) +YAZ_LIBEXSLT( + [ + AC_DEFINE(YAZ_HAVE_EXSLT) + YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS -DYAZ_HAVE_EXSLT=1" + ] +) + +YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS $XML2_CFLAGS" if test "$XML2_LIBS"; then LIBS="$XML2_LIBS $LIBS" fi dnl +dnl +AC_CHECK_ICU([3.6],[ + if test "$xml_enabled" = "true"; then + ICU_CPPFLAGS="$ICU_CPPFLAGS -D YAZ_HAVE_ICU=1" + else + ICU_CPPFLAGS="" + AC_MSG_WARN([ICU support disabled because XML support is unavailable]) + fi +]) +dnl dnl ------ Memory debugging AC_ARG_ENABLE(memdebug, [ --enable-memdebug enable memory debugging],[enable_memdebug=$enableval],[enable_memdebug=none]) if test "$enable_memdebug" = "yes"; then @@ -345,6 +370,9 @@ AC_SUBST(YAZ_SRC_ROOT) AC_SUBST(YAZ_BUILD_ROOT) YAZ_SRC_ROOT=`cd ${srcdir}; pwd` YAZ_BUILD_ROOT=`pwd` + +dnl ------ windows version files +WIN_FILEVERSION=`echo $PACKAGE_VERSION|tr . ,`.1 dnl dnl ------ Makefiles dnl @@ -365,8 +393,12 @@ doc/common/Makefile doc/common/print.dsl etc/Makefile yaz-config +yaz.pc Doxyfile -],[sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > util/yaz-config && chmod +x yaz-config util/yaz-config]) +],[ + sed s%yaz_echo_source=yes%yaz_echo_source=no%g < yaz-config > util/yaz-config && chmod +x yaz-config util/yaz-config + ] +) echo \