X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=configure.ac;h=e3a1f57a2207439d7a28ed6b7369248004638fee;hp=7c8afb1dcba4ed0b193fe4825f102e020732865c;hb=7dca3501222dc961d4067367fc5222c48d36e0ef;hpb=9dc245681225482bd54fcca542846a29b83be9d6 diff --git a/configure.ac b/configure.ac index 7c8afb1..e3a1f57 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ dnl YAZ Toolkit, Index Data 1995-2007 dnl See the file LICENSE for details. -dnl $Id: configure.ac,v 1.57 2007-01-23 19:31:10 adam Exp $ +dnl $Id: configure.ac,v 1.66 2007-03-07 08:05:25 adam Exp $ AC_PREREQ(2.59) -AC_INIT([yaz],[2.1.48],[yaz-help@indexdata.dk]) +AC_INIT([yaz],[2.1.52],[yaz-help@indexdata.dk]) AC_CONFIG_SRCDIR(configure.ac) AC_CONFIG_AUX_DIR([config]) AM_INIT_AUTOMAKE([1.8]) @@ -23,7 +23,18 @@ 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/times.h sys/types.h sys/un.h sys/wait.h unistd.h netinet/if_ether.h netinet/in_systm.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 netinet/in.h netdb.h arpa/inet.h netinet/tcp.h netinet/in_systm.h]) +AC_CHECK_HEADERS([netinet/if_ether.h],[],[],[ + #if HAVE_SYS_TYPES_H + #include + #endif + #if HAVE_SYS_SOCKET_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]) @@ -300,72 +311,55 @@ if test "$enable_tcpd" -a "$enable_tcpd" != "no"; then fi fi dnl -AC_SUBST(THREAD_CFLAGS) +AC_SUBST(YAZ_CONFIG_CFLAGS) +dnl HAVETHREADS=0 -THREAD_CFLAGS="" -LIBTHREAD="" dnl dnl ------ GNU threads 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([ + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + AC_DEFINE(YAZ_POSIX_THREADS) + 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 + LIBS="$PTHREAD_LIBS $LIBS" + YAZ_CONFIG_CFLAGS="$YAZ_CONFIG_CFLAGS $PTHREAD_CFLAGS -DYAZ_POSIX_THREADS=1" + ]) fi dnl ----- libXSLT/libEXLT/libXML2 AC_SUBST(XML2_CFLAGS) -AC_SUBST(YAZ_CONFIG_CFLAGS) -YAZ_CONFIG_CFLAGS="" YAZ_LIBXML2( [ @@ -428,6 +422,7 @@ 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])