dnl YAZ Toolkit, Index Data 1995-2007
dnl See the file LICENSE for details.
-dnl $Id: configure.ac,v 1.64 2007-02-25 14:46:50 adam Exp $
+dnl $Id: configure.ac,v 1.82 2007-05-31 08:01:30 adam Exp $
AC_PREREQ(2.59)
-AC_INIT([yaz],[2.1.51],[yaz-help@indexdata.dk])
+AC_INIT([yaz],[3.0.5],[yaz-help@indexdata.dk])
AC_CONFIG_SRCDIR(configure.ac)
AC_CONFIG_AUX_DIR([config])
AM_INIT_AUTOMAKE([1.8])
dnl
dnl
dnl ------ Headers
-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 netinet/in.h netdb.h arpa/inet.h netinet/tcp.h netinet/in_systm.h])
-AC_CHECK_HEADERS([netinet/if_ether.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 <sys/types.h>
#endif
#if HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
+ #if HAVE_NET_IF_H
+ #include <net/if.h>
+ #endif
#if HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif
AC_MSG_CHECKING([for libpcap (required for ziffy)])
if test "${PCAP_DIR}" != "no"; then
- if test "${PCAP_DIR}" != "yes" && test "${PCAP_DIR}" != "default"; then
+ if test "${ac_cv_header_netinet_if_ether_h}" = "no"; then
+ :
+ elif test "${PCAP_DIR}" != "yes" && test "${PCAP_DIR}" != "default"; then
if test -r $PCAP_DIR/libpcap.a && test -r $PCAP_DIR/pcap.h; then
PCAP_DIR="$PCAP_DIR"
PCAP_LIBS="${LIBS} -L$PCAP_DIR -lpcap"
PCAP_CFLAGS="${INCS} -I$PCAP_DIR"
ZIFFY_PROG=ziffy
fi
- else
- if test -d /usr/local &&
- test -r /usr/local/lib/libpcap.a &&
- test -r /usr/local/include/pcap.h; then
- PCAP_DIR="/usr/local"
- PCAP_LIBS="${LIBS} -L$PCAP_DIR/lib -lpcap"
- PCAP_CFLAGS="${INCS} -I$PCAP_DIR/include"
- ZIFFY_PROG=ziffy
- elif test -d /usr &&
- test -r /usr/lib/libpcap.a &&
- test -r /usr/include/pcap.h; then
- PCAP_DIR="/usr"
- PCAP_LIBS="${LIBS} -lpcap"
- ZIFFY_PROG=ziffy
- fi
+ elif test -d /usr/local &&
+ test -r /usr/local/lib/libpcap.a &&
+ test -r /usr/local/include/pcap.h; then
+ PCAP_DIR="/usr/local"
+ PCAP_LIBS="${LIBS} -L$PCAP_DIR/lib -lpcap"
+ PCAP_CFLAGS="${INCS} -I$PCAP_DIR/include"
+ ZIFFY_PROG=ziffy
+ elif test -d /usr &&
+ test -r /usr/lib/libpcap.a &&
+ test -r /usr/include/pcap.h; then
+ PCAP_DIR="/usr"
+ PCAP_LIBS="${LIBS} -lpcap"
+ ZIFFY_PROG=ziffy
fi
fi
if test -z "$ZIFFY_PROG"; 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 <syslog.h>
#include <tcpd.h>
int allow_severity = LOG_INFO;
AC_ARG_ENABLE(threads, [ --disable-threads disable POSIX threads],[enable_threads=$enableval],[enable_threads=yes])
if test "$enable_threads" = "yes" -a "$HAVETHREADS" = "0"; then
ACX_PTHREAD([
+ OCFLAGS=$CFLAGS
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
- AC_DEFINE(YAZ_POSIX_THREADS)
- LIBS="$PTHREAD_LIBS $LIBS"
- YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS $PTHREAD_CFLAGS -DYAZ_POSIX_THREADS=1"
+ 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.h> ],
+ [ 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