1Dnl Id 2 3AC_DEFUN([KRB_PTHREADS], [ 4AC_MSG_CHECKING(if compiling threadsafe libraries) 5 6AC_ARG_ENABLE(pthread-support, 7 AS_HELP_STRING([--enable-pthread-support], 8 [if you want thread safe libraries]), 9 [],[enable_pthread_support=maybe]) 10 11case "$host" in 12*-*-solaris2*) 13 native_pthread_support=yes 14 if test "$GCC" = yes; then 15 PTHREAD_CFLAGS="-D_REENTRANT -D_TS_ERRNO" 16 PTHREAD_LIBADD=-lpthread 17 else 18 PTHREAD_CFLAGS="-mt -D_REENTRANT -D_TS_ERRNO" 19 PTHREAD_LDADD=-mt 20 PTHREAD_LIBADD="-mt -lpthread" 21 fi 22 ;; 23*-*-netbsd[[12]]*) 24 native_pthread_support="if running netbsd 1.6T or newer" 25 dnl heim_threads.h knows this 26 PTHREAD_LIBADD="-lpthread" 27 ;; 28*-*-netbsd[[3456789]]*) 29 native_pthread_support="netbsd 3 uses explict pthread" 30 dnl heim_threads.h knows this 31 PTHREAD_LIBADD="-lpthread" 32 ;; 33*-*-freebsd[[1234]]) 34 ;; 35*-*-freebsd*) 36 native_pthread_support=yes 37 PTHREAD_LIBADD="-pthread" 38 ;; 39*-*-openbsd*) 40 native_pthread_support=yes 41 PTHREAD_CFLAGS=-pthread 42 PTHREAD_LIBADD=-pthread 43 ;; 44*-*-gnu*) 45 native_pthread_support=yes 46 PTHREADS_CFLAGS=-pthread 47 PTHREAD_LIBADD="-pthread -lpthread" 48 ;; 49*-*-linux* | *-*-linux-gnu) 50 case `uname -r` in 51 2.*|3.*) 52 native_pthread_support=yes 53 PTHREAD_CFLAGS=-pthread 54 PTHREAD_LIBADD=-pthread 55 ;; 56 esac 57 ;; 58*-*-kfreebsd*-gnu*) 59 native_pthread_support=yes 60 PTHREAD_CFLAGS=-pthread 61 PTHREAD_LIBADD=-pthread 62 ;; 63*-*-aix*) 64 dnl AIX is disabled since we don't handle the utmp/utmpx 65 dnl problems that aix causes when compiling with pthread support 66 dnl (2016-11-14, we longer use utmp). Original logic was: 67 dnl if test "$GCC" = yes; then 68 dnl native_pthread_support=yes 69 dnl PTHREADS_LIBS="-pthread" 70 dnl elif expr "$CC" : ".*_r" > /dev/null ; then 71 dnl native_pthread_support=yes 72 dnl PTHREADS_CFLAGS="" 73 dnl PTHREADS_LIBS="" 74 dnl else 75 dnl native_pthread_support=no 76 dnl fi 77 native_pthread_support=no 78 ;; 79mips-sgi-irix6.[[5-9]]) # maybe works for earlier versions too 80 native_pthread_support=yes 81 PTHREAD_LIBADD="-lpthread" 82 ;; 83*-*-darwin*) 84 native_pthread_support=yes 85 ;; 86*) 87 native_pthread_support=no 88 ;; 89esac 90 91if test "$enable_pthread_support" = maybe ; then 92 enable_pthread_support="$native_pthread_support" 93fi 94 95if test "$enable_pthread_support" != no; then 96 AC_DEFINE(ENABLE_PTHREAD_SUPPORT, 1, 97 [Define if you want have a thread safe libraries]) 98 dnl This sucks, but libtool doesn't save the depenecy on -pthread 99 dnl for libraries. 100 LIBS="$PTHREAD_LIBADD $LIBS" 101else 102 PTHREAD_CFLAGS="" 103 PTHREAD_LIBADD="" 104fi 105 106AM_CONDITIONAL(ENABLE_PTHREAD_SUPPORT, test "$enable_pthread_support" != no) 107 108CFLAGS="$CFLAGS $PTHREAD_CFLAGS" 109LDADD="$LDADD $PTHREAD_LDADD" 110LIBADD="$LIBADD $PTHREAD_LIBADD" 111 112AC_SUBST(PTHREAD_CFLAGS) 113AC_SUBST(PTHREAD_LDADD) 114AC_SUBST(PTHREAD_LIBADD) 115 116AC_MSG_RESULT($enable_pthread_support) 117]) 118