3 AC_DEFUN([KRB_PTHREADS], [
4 AC_MSG_CHECKING(if compiling threadsafe libraries)
6 AC_ARG_ENABLE(pthread-support,
7 AS_HELP_STRING([--enable-pthread-support],
8 [if you want thread safe libraries]),
9 [],[enable_pthread_support=maybe])
13 native_pthread_support=yes
14 if test "$GCC" = yes; then
15 PTHREAD_CFLAGS="-D_REENTRANT -D_TS_ERRNO"
16 PTHREAD_LIBADD=-lpthread
18 PTHREAD_CFLAGS="-mt -D_REENTRANT -D_TS_ERRNO"
20 PTHREAD_LIBADD="-mt -lpthread"
24 native_pthread_support="if running netbsd 1.6T or newer"
25 dnl heim_threads.h knows this
26 PTHREAD_LIBADD="-lpthread"
28 *-*-netbsd[[3456789]]*)
29 native_pthread_support="netbsd 3 uses explict pthread"
30 dnl heim_threads.h knows this
31 PTHREAD_LIBADD="-lpthread"
36 native_pthread_support=yes
37 PTHREAD_LIBADD="-pthread"
40 native_pthread_support=yes
41 PTHREAD_CFLAGS=-pthread
42 PTHREAD_LIBADD=-pthread
45 native_pthread_support=yes
46 PTHREADS_CFLAGS=-pthread
47 PTHREAD_LIBADD="-pthread -lpthread"
49 *-*-linux* | *-*-linux-gnu)
52 native_pthread_support=yes
53 PTHREAD_CFLAGS=-pthread
54 PTHREAD_LIBADD=-pthread
59 native_pthread_support=yes
60 PTHREAD_CFLAGS=-pthread
61 PTHREAD_LIBADD=-pthread
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=""
75 dnl native_pthread_support=no
77 native_pthread_support=no
79 mips-sgi-irix6.[[5-9]]) # maybe works for earlier versions too
80 native_pthread_support=yes
81 PTHREAD_LIBADD="-lpthread"
84 native_pthread_support=yes
87 native_pthread_support=no
91 if test "$enable_pthread_support" = maybe ; then
92 enable_pthread_support="$native_pthread_support"
95 if 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
100 LIBS="$PTHREAD_LIBADD $LIBS"
106 AM_CONDITIONAL(ENABLE_PTHREAD_SUPPORT, test "$enable_pthread_support" != no)
108 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
109 LDADD="$LDADD $PTHREAD_LDADD"
110 LIBADD="$LIBADD $PTHREAD_LIBADD"
112 AC_SUBST(PTHREAD_CFLAGS)
113 AC_SUBST(PTHREAD_LDADD)
114 AC_SUBST(PTHREAD_LIBADD)
116 AC_MSG_RESULT($enable_pthread_support)