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=-pthreads
16		PTHREAD_LIBADD=-pthreads
17	else
18		PTHREAD_CFLAGS=-mt
19		PTHREAD_LDADD=-mt
20		PTHREAD_LIBADD=-mt
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[[56789]]*)
34	native_pthread_support=yes
35	PTHREAD_LIBADD="-pthread"
36	;;
37*-*-openbsd*)
38	native_pthread_support=yes
39	PTHREAD_CFLAGS=-pthread
40	PTHREAD_LIBADD=-pthread
41	;;
42*-*-linux* | *-*-linux-gnu)
43	case `uname -r` in
44	2.*|3.*)
45		native_pthread_support=yes
46		PTHREAD_CFLAGS=-pthread
47		PTHREAD_LIBADD=-pthread
48		;;
49	esac
50	;;
51*-*-kfreebsd*-gnu*)
52	native_pthread_support=yes
53	PTHREAD_CFLAGS=-pthread
54	PTHREAD_LIBADD=-pthread
55	;;
56*-*-aix*)
57	dnl AIX is disabled since we don't handle the utmp/utmpx
58        dnl problems that aix causes when compiling with pthread support
59	native_pthread_support=no
60	;;
61mips-sgi-irix6.[[5-9]])  # maybe works for earlier versions too
62	native_pthread_support=yes
63	PTHREAD_LIBADD="-lpthread"
64	;;
65*-*-darwin*)
66	native_pthread_support=yes
67	;;
68*)
69	native_pthread_support=no
70	;;
71esac
72
73if test "$enable_pthread_support" = maybe ; then
74	enable_pthread_support="$native_pthread_support"
75fi
76	
77if test "$enable_pthread_support" != no; then
78    AC_DEFINE(ENABLE_PTHREAD_SUPPORT, 1,
79	[Define if you want have a thread safe libraries])
80    dnl This sucks, but libtool doesn't save the depenecy on -pthread
81    dnl for libraries.
82    LIBS="$PTHREAD_LIBADD $LIBS"
83else
84  PTHREAD_CFLAGS=""
85  PTHREAD_LIBADD=""
86fi
87
88AC_SUBST(PTHREAD_CFLAGS)
89AC_SUBST(PTHREAD_LDADD)
90AC_SUBST(PTHREAD_LIBADD)
91
92AC_MSG_RESULT($enable_pthread_support)
93])
94