| 1 | Dnl $Id$ | 
|---|
| 2 |  | 
|---|
| 3 | AC_DEFUN([KRB_PTHREADS], [ | 
|---|
| 4 | AC_MSG_CHECKING(if compiling threadsafe libraries) | 
|---|
| 5 |  | 
|---|
| 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]) | 
|---|
| 10 |  | 
|---|
| 11 | case "$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 | ;; | 
|---|
| 61 | mips-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 | ;; | 
|---|
| 71 | esac | 
|---|
| 72 |  | 
|---|
| 73 | if test "$enable_pthread_support" = maybe ; then | 
|---|
| 74 | enable_pthread_support="$native_pthread_support" | 
|---|
| 75 | fi | 
|---|
| 76 |  | 
|---|
| 77 | if 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" | 
|---|
| 83 | else | 
|---|
| 84 | PTHREAD_CFLAGS="" | 
|---|
| 85 | PTHREAD_LIBADD="" | 
|---|
| 86 | fi | 
|---|
| 87 |  | 
|---|
| 88 | AC_SUBST(PTHREAD_CFLAGS) | 
|---|
| 89 | AC_SUBST(PTHREAD_LDADD) | 
|---|
| 90 | AC_SUBST(PTHREAD_LIBADD) | 
|---|
| 91 |  | 
|---|
| 92 | AC_MSG_RESULT($enable_pthread_support) | 
|---|
| 93 | ]) | 
|---|