X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=configure.in;h=830a28f51946bcb42609947eb960e3f3aeabbd27;hp=45b4e61b5b1c4498791a40f47b195f7fbc88d415;hb=4e687307f10bd595d8af05c022871d1875c8c463;hpb=d96213e7e29deb01d3f24408b557319adea3cb3d diff --git a/configure.in b/configure.in index 45b4e61..830a28f 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl YAZ Toolkit, Index Data 1994-2001 dnl See the file LICENSE for details. -dnl $Id: configure.in,v 1.45 2001-05-16 07:37:39 adam Exp $ +dnl $Id: configure.in,v 1.49 2001-10-06 08:16:30 adam Exp $ AC_INIT(include/yaz/yaz-version.h) AM_INIT_AUTOMAKE(yaz, 1.7) dnl @@ -122,11 +122,33 @@ if test "$ac_cv_header_stdc" = "no"; then AC_MSG_WARN(Your system doesn't seem to support ANSI C) fi dnl -dnl ------ Threads -AC_ARG_ENABLE(threads, [ --disable-threads disable POSIX threads],[enable_threads=$enableval],[enable_threads=yes]) AC_SUBST(LIBTHREAD) -if test "$enable_threads" = "yes"; then +AC_SUBST(CFLAGSTHREADS) +HAVETHREADS=0 +CFLAGSTHREADS="" +LIBTHREAD="" +dnl +AC_ARG_ENABLE(pth, [ --enable-pth enable GNU threads],[enable_pth=$enableval],[enable_pth=no]) +AC_SUBST(LIBPTH) +if test "$enable_pth" = "yes"; then + 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" + CFLAGSTHREADS="-DYAZ_GNU_THREADS=1" + HAVETHREADS=1 + fi + fi + LIBS=$OLIBS +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 @@ -136,14 +158,28 @@ if test "$enable_threads" = "yes"; then pthread_create (&pthread_id, 0, func, 0);], thread_ok=yes,thread_ok=no) if test "$thread_ok" = "yes"; then - LIBTHREAD=-lpthread AC_MSG_RESULT(yes) + LIBTHREAD=-lpthread + CFLAGSTHREADS="-DYAZ_POSIX_THREADS=1 -D_REENTRANT" HAVETHREADS=1 else - LIBTHREAD="" + 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]) + CFLAGSTHREADS="-pthread -DYAZ_POSIX_THREADS=1 -D_REENTRANT" + HAVETHREADS=1 + fi + fi + if test "$thread_ok" = "no"; then AC_MSG_RESULT(no) - HAVETHREADS=0 fi + CC=$OCC LIBS=$OLIBS fi AM_CONDITIONAL(ISTHR, test $HAVETHREADS = "1")