Files
heimdal/cf/pthreads.m4
Nicolas Williams 44dec510fd Update to SQLite3 3.14
Newer versions of SQLite3 have a number of new features that are
desirable to users who host other DBs in the same file as the HDB (for
example), as well as performance and bug fixes.

We should consider switching the SQLite3 backend for HDB to WITHOUT
ROWID tables for performance reasons.  We should also consider using
foreign keys instead of triggers.  Making any such changes requires care
to permit both, upgrade and downgrade.

We might want to use the SQLite3 session extension for a SQLite3-
specific, low-level replication (iprop).  Given conflict resultion code,
or a sufficiently normalized schema, the session extension would make it
easy to create a multi-master replication system, not unlike what one
would expect of an LDAP setup, though with none of the atomicity that
LDAP is supposed to provide (specifically, O_EXCL semantics for creates
and predicates for updates) unless we were to add a locking protocol.

Note that as of 3.14, the session extension is mutually exclusive of
WITHOUT ROWID tables.
2016-08-11 14:53:25 -05:00

105 lines
2.4 KiB
Plaintext

Dnl $Id$
AC_DEFUN([KRB_PTHREADS], [
AC_MSG_CHECKING(if compiling threadsafe libraries)
AC_ARG_ENABLE(pthread-support,
AS_HELP_STRING([--enable-pthread-support],
[if you want thread safe libraries]),
[],[enable_pthread_support=maybe])
case "$host" in
*-*-solaris2*)
native_pthread_support=yes
if test "$GCC" = yes; then
PTHREAD_CFLAGS="-D_REENTRANT -D_TS_ERRNO"
PTHREAD_LIBADD=-lpthread
else
PTHREAD_CFLAGS="-mt -D_REENTRANT -D_TS_ERRNO"
PTHREAD_LDADD=-mt
PTHREAD_LIBADD="-mt -lpthread"
fi
;;
*-*-netbsd[[12]]*)
native_pthread_support="if running netbsd 1.6T or newer"
dnl heim_threads.h knows this
PTHREAD_LIBADD="-lpthread"
;;
*-*-netbsd[[3456789]]*)
native_pthread_support="netbsd 3 uses explict pthread"
dnl heim_threads.h knows this
PTHREAD_LIBADD="-lpthread"
;;
*-*-freebsd[[56789]]*)
native_pthread_support=yes
PTHREAD_LIBADD="-pthread"
;;
*-*-openbsd*)
native_pthread_support=yes
PTHREAD_CFLAGS=-pthread
PTHREAD_LIBADD=-pthread
;;
*-*-gnu*)
native_pthread_support=yes
PTHREADS_CFLAGS=-pthread
PTHREAD_LIBADD="-pthread -lpthread"
;;
*-*-linux* | *-*-linux-gnu)
case `uname -r` in
2.*|3.*)
native_pthread_support=yes
PTHREAD_CFLAGS=-pthread
PTHREAD_LIBADD=-pthread
;;
esac
;;
*-*-kfreebsd*-gnu*)
native_pthread_support=yes
PTHREAD_CFLAGS=-pthread
PTHREAD_LIBADD=-pthread
;;
*-*-aix*)
dnl AIX is disabled since we don't handle the utmp/utmpx
dnl problems that aix causes when compiling with pthread support
native_pthread_support=no
;;
mips-sgi-irix6.[[5-9]]) # maybe works for earlier versions too
native_pthread_support=yes
PTHREAD_LIBADD="-lpthread"
;;
*-*-darwin*)
native_pthread_support=yes
;;
*)
native_pthread_support=no
;;
esac
if test "$enable_pthread_support" = maybe ; then
enable_pthread_support="$native_pthread_support"
fi
if test "$enable_pthread_support" != no; then
AC_DEFINE(ENABLE_PTHREAD_SUPPORT, 1,
[Define if you want have a thread safe libraries])
dnl This sucks, but libtool doesn't save the depenecy on -pthread
dnl for libraries.
LIBS="$PTHREAD_LIBADD $LIBS"
else
PTHREAD_CFLAGS=""
PTHREAD_LIBADD=""
fi
AM_CONDITIONAL(ENABLE_PTHREAD_SUPPORT, test "$enable_pthread_support" != no)
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
LDADD="$LDADD $PTHREAD_LDADD"
LIBADD="$LIBADD $PTHREAD_LIBADD"
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_LDADD)
AC_SUBST(PTHREAD_LIBADD)
AC_MSG_RESULT($enable_pthread_support)
])