mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-15 03:01:09 +08:00
Add detection of LWP threads (untested).
This commit is contained in:
parent
63e7569fa5
commit
2614a4095f
54
configure.in
54
configure.in
@ -34,7 +34,7 @@ dnl General "with" options
|
||||
OL_ARG_WITH(kerberos,[ --with-kerberos use Kerberos],
|
||||
auto, [auto k5 k4 afs yes no])
|
||||
OL_ARG_WITH(threads,[ --with-threads use threads],
|
||||
auto, [auto posix dce mach yes no manual] )
|
||||
auto, [auto posix mach lwp yes no manual] )
|
||||
|
||||
dnl Server options
|
||||
|
||||
@ -344,13 +344,13 @@ dnl AC_DEFINE(HAVE_LINUX_THREADS,1)
|
||||
fi
|
||||
|
||||
if test $ol_link_threads != no ; then
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$LTHREAD_LIBS $LIBS"
|
||||
|
||||
dnl All POSIX Thread (final) implementations should have
|
||||
dnl sched_yield instead of pthread yield.
|
||||
dnl check for both
|
||||
save_LIBS="$LIBS"
|
||||
LIBS="$LTHREAD_LIBS $LIBS"
|
||||
AC_CHECK_FUNCS(sched_yield pthread_yield)
|
||||
LIBS="$save_LIBS"
|
||||
|
||||
if test $ac_cv_func_sched_yield = no -a \
|
||||
$ac_cv_func_pthread_yield = no ; then
|
||||
@ -358,6 +358,15 @@ dnl AC_DEFINE(HAVE_LINUX_THREADS,1)
|
||||
AC_MSG_WARN([could not locate sched_yield() or pthread_yield()])
|
||||
AC_MSG_ERROR([POSIX Threads are not usable])
|
||||
fi
|
||||
|
||||
dnl Check functions for compatibility
|
||||
AC_CHECK_FUNCS(pthread_kill \
|
||||
pthread_attr_init pthread_attr_create \
|
||||
pthread_attr_destroy pthread_attr_delete \
|
||||
pthread_attr_setdetachstate pthread_attr_setdetach_np \
|
||||
)
|
||||
|
||||
LIBS="$save_LIBS"
|
||||
else
|
||||
AC_MSG_ERROR([could not link with POSIX Threads])
|
||||
fi
|
||||
@ -368,6 +377,43 @@ dnl AC_DEFINE(HAVE_LINUX_THREADS,1)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $ol_with_threads = auto -o $ol_with_threads = cthreads ; then
|
||||
dnl check for Mach CThreads
|
||||
AC_CHECK_HEADERS(mach/cthreads.h)
|
||||
if test $ac_cv_header_lwp_lwp_h = yes ; then
|
||||
AC_CHECK_LIB(lwp, cthread_fork, [have_cthreads=yes], [have_cthreads=no])
|
||||
|
||||
if test $have_cthreads = yes ; then
|
||||
LTHREAD_DEFS="$LTHREAD_DEFS -DTHREAD_NEXT_CTHREADS"
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $ol_with_threads = auto -o $ol_with_threads = lwp ; then
|
||||
dnl check for SunOS5 LWP
|
||||
AC_CHECK_HEADERS(lwp/lwp.h)
|
||||
if test $ac_cv_header_lwp_lwp_h = yes ; then
|
||||
AC_CHECK_LIB(thread, thr_create, [have_lwp=yes], [have_lwp=no])
|
||||
|
||||
if test $have_lwp = yes ; then
|
||||
LTHREAD_DEFS="$LTHREAD_DEFS -DTHREAD_SUNOS5_LWP"
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl check for SunOS4 LWP
|
||||
AC_CHECK_HEADERS(thread.h synch.h)
|
||||
if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then
|
||||
AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no])
|
||||
|
||||
if test $have_lwp = yes ; then
|
||||
LTHREAD_DEFS="$LTHREAD_DEFS -DTHREAD_SUNOS4_LWP"
|
||||
LTHREAD_LIBS="$LTHREAD_LIBS -llwp"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $ol_with_threads = manual ; then
|
||||
dnl User thinks he can manually configure threads.
|
||||
$ol_link_threads=yes
|
||||
|
@ -1,313 +0,0 @@
|
||||
/*
|
||||
* Copyright 1998 The OpenLDAP Foundation.
|
||||
* Copying restrictions apply. See COPYRIGHT file for details.
|
||||
*
|
||||
* Portions Copyright (c) 1994 Regents of the University of Michigan.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are permitted
|
||||
* provided that this notice is preserved and that due credit is given
|
||||
* to the University of Michigan at Ann Arbor. The name of the University
|
||||
* may not be used to endorse or promote products derived from this
|
||||
* software without specific prior written permission. This software
|
||||
* is provided ``as is'' without express or implied warranty.
|
||||
*/
|
||||
|
||||
#ifndef _LDAP_CONFIG_H
|
||||
#define _LDAP_CONFIG_H
|
||||
|
||||
/*
|
||||
* config.h for LDAP -- edit this file to customize LDAP client behavior.
|
||||
* NO platform-specific definitions should be placed in this file.
|
||||
* Note that this is NOT used by the LDAP or LBER libraries.
|
||||
*/
|
||||
|
||||
/*
|
||||
* SHARED DEFINITIONS
|
||||
*/
|
||||
#define DEFAULT_BINDIR "@BINDIR@"
|
||||
#define DEFAULT_SBINDIR "@SBINDIR@"
|
||||
#define DEFAULT_LIBEXECDIR "@LIBEXECDIR@"
|
||||
#define DEFAULT_DATADIR "@DATADIR@"
|
||||
#define DEFAULT_SYSCONFDIR "@SYSCONFDIR@"
|
||||
#define DEFAULT_SHAREDSTATEDIR "@SHAREDSTATEDIR@"
|
||||
#define DEFAULT_LOCALSTATEDIR "@LOCALSTATEDIR@"
|
||||
#define DEFAULT_LIBDIR "@LIBDIR@"
|
||||
#define DEFAULT_INCLUDEDIR "@INCLUDEDIR@"
|
||||
#define DEFAULT_OLDINCLUDEDIR "@OLDINCLUDEDIR@"
|
||||
#define DEFAULT_INFODIR "@INFODIR@"
|
||||
#define DEFAULT_MANDIR "@MANDIR@"
|
||||
|
||||
/* default ldap host */
|
||||
#define LDAPHOST "localhost"
|
||||
|
||||
#define DEFAULT_LDAPHOST_FILE "@SYSCONFDIR@/ldaphost"
|
||||
/* default place to start searching */
|
||||
#define DEFAULT_BASE "o=Your Organization Name, c=US"
|
||||
#define DEFAULT_BASE_FILE "@SYSCONFDIR@/ldapbase"
|
||||
|
||||
/*
|
||||
* default binddn and creditials
|
||||
* use files, make sure they are not generally readable
|
||||
*/
|
||||
#define DEFAULT_BINDDN NULL
|
||||
#define DEFAULT_BINDDN_FILE "@SYSCONFDIR@/ldapbinddn"
|
||||
|
||||
#define DEFAULT_BIND_CRED NULL
|
||||
#define DEFAULT_BIND_CRED_FILE "@SYSCONFDIR@/ldapbindcred"
|
||||
|
||||
/*********************************************************************
|
||||
* *
|
||||
* You probably do not need to edit anything below this point *
|
||||
* *
|
||||
*********************************************************************/
|
||||
|
||||
/*
|
||||
* SHARED DEFINITIONS - other things you can change
|
||||
*/
|
||||
/* default attribute to use when sorting entries, NULL => sort by DN */
|
||||
#define SORT_ATTR NULL
|
||||
/* default count of DN components to show in entry displays */
|
||||
#define DEFAULT_RDNCOUNT 2
|
||||
/* default config file locations */
|
||||
#define FILTERFILE "@SYSCONFDIR@/ldapfilter.conf"
|
||||
#define TEMPLATEFILE "@SYSCONFDIR@/ldaptemplates.conf"
|
||||
#define SEARCHFILE "@SYSCONFDIR@/ldapsearchprefs.conf"
|
||||
#define FRIENDLYFILE "@SYSCONFDIR@/ldapfriendly"
|
||||
|
||||
/*
|
||||
* FINGER DEFINITIONS
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define FINGER_BINDDN NULL
|
||||
#define FINGER_BIND_CRED NULL
|
||||
/* where to search */
|
||||
#define FINGER_BASE DEFAULT_BASE
|
||||
/* banner to print */
|
||||
#define FINGER_BANNER "X.500 Finger Service...\r\n"
|
||||
/* who to report errors to */
|
||||
#define FINGER_ERRORS "System Administrator"
|
||||
/* what to say if no matches are found */
|
||||
#define FINGER_NOMATCH "Search failed to find anything.\r\n"
|
||||
/* what to say if the service may be unavailable */
|
||||
#define FINGER_UNAVAILABLE \
|
||||
"The directory service may be temporarily unavailable.\r\n\
|
||||
Please try again later.\r\n"
|
||||
/* printed if a match has no email address - for disptmp default */
|
||||
#define FINGER_NOEMAIL1 "None registered in this service."
|
||||
#define FINGER_NOEMAIL2 NULL
|
||||
#define FINGER_NOEMAIL { FINGER_NOEMAIL1, FINGER_NOEMAIL2, NULL }
|
||||
/* maximum number of matches returned */
|
||||
#define FINGER_SIZELIMIT 50
|
||||
/* max number of hits displayed in full before a list is presented */
|
||||
#define FINGER_LISTLIMIT 1
|
||||
/* what to exec for "finger @host" */
|
||||
#define FINGER_CMD "@FINGER@"
|
||||
/* how to treat aliases when searching */
|
||||
#define FINGER_DEREF LDAP_DEREF_FINDING
|
||||
/* attribute to use when sorting results */
|
||||
#define FINGER_SORT_ATTR SORT_ATTR
|
||||
/* enable ufn support */
|
||||
#define FINGER_UFN
|
||||
/* timeout for searches */
|
||||
#define FINGER_TIMEOUT 60
|
||||
/* number of DN components to show in entry displays */
|
||||
#define FINGER_RDNCOUNT DEFAULT_RDNCOUNT
|
||||
|
||||
/*
|
||||
* GO500 GOPHER GATEWAY DEFINITIONS
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define GO500_BINDDN NULL
|
||||
#define GO500_BIND_CRED NULL
|
||||
/* where to search */
|
||||
#define GO500_BASE DEFAULT_BASE
|
||||
/* port on which to listen */
|
||||
#define GO500_PORT 5555
|
||||
/* how to handle aliases */
|
||||
#define GO500_DEREF LDAP_DEREF_FINDING
|
||||
/* attribute to use when sorting results */
|
||||
#define GO500_SORT_ATTR SORT_ATTR
|
||||
/* timeout for searches */
|
||||
#define GO500_TIMEOUT 180
|
||||
/* enable ufn support */
|
||||
#define GO500_UFN
|
||||
/*
|
||||
* only set and uncomment this if your hostname() does not return
|
||||
* a fully qualified hostname
|
||||
*/
|
||||
/* #define GO500_HOSTNAME "fully.qualified.hostname.here" */
|
||||
/* number of DN components to show in entry displays */
|
||||
#define GO500_RDNCOUNT DEFAULT_RDNCOUNT
|
||||
|
||||
/*
|
||||
* GO500GW GOPHER GATEWAY DEFINITIONS
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define GO500GW_BINDDN NULL
|
||||
#define GO500GW_BIND_CRED NULL
|
||||
/* where the helpfile lives */
|
||||
#define GO500GW_HELPFILE "@SYSCONFDIR@/go500gw.help"
|
||||
/* port on which to listen */
|
||||
#define GO500GW_PORT 7777
|
||||
/* timeout on all searches */
|
||||
#define GO500GW_TIMEOUT 180
|
||||
/* enable ufn support */
|
||||
#define GO500GW_UFN
|
||||
/* attribute to use when sorting results */
|
||||
#define GO500GW_SORT_ATTR SORT_ATTR
|
||||
/*
|
||||
* only set and uncomment this if your hostname() does not return
|
||||
* a fully qualified hostname
|
||||
*/
|
||||
/* #define GO500GW_HOSTNAME "fully.qualified.hostname.here" */
|
||||
/* number of DN components to show in entry displays */
|
||||
#define GO500GW_RDNCOUNT DEFAULT_RDNCOUNT
|
||||
|
||||
/*
|
||||
* RCPT500 MAIL RESPONDER GATEWAY DEFINITIONS
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define RCPT500_BINDDN NULL
|
||||
#define RCPT500_BIND_CRED NULL
|
||||
/* where the helpfile lives */
|
||||
#define RCPT500_HELPFILE "@SYSCONFDIR@/rcpt500.help"
|
||||
/* maximum number of matches returned */
|
||||
#define RCPT500_SIZELIMIT 50
|
||||
/* address replies will appear to come from */
|
||||
#define RCPT500_FROM "\"Directory Query Program\" <Dir-Query>"
|
||||
/* command that will accept an RFC822 message text on standard
|
||||
input, and send it. sendmail -t does this nicely. */
|
||||
#define RCPT500_PIPEMAILCMD "@SENDMAIL@ -t"
|
||||
/* where to search */
|
||||
#define RCPT500_BASE DEFAULT_BASE
|
||||
/* attribute to use when sorting results */
|
||||
#define RCPT500_SORT_ATTR SORT_ATTR
|
||||
/* max number of hits displayed in full before a list is presented */
|
||||
#define RCPT500_LISTLIMIT 1
|
||||
/* enable ufn support */
|
||||
#define RCPT500_UFN
|
||||
/* number of DN components to show in entry displays */
|
||||
#define RCPT500_RDNCOUNT DEFAULT_RDNCOUNT
|
||||
|
||||
/*
|
||||
* LDAPSEARCH TOOL
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define LDAPSEARCH_BINDDN NULL
|
||||
#define LDAPSEARCH_BIND_CRED NULL
|
||||
/* search base */
|
||||
#define LDAPSEARCH_BASE DEFAULT_BASE
|
||||
|
||||
/*
|
||||
* LDAPMODIFY TOOL
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define LDAPMODIFY_BINDDN NULL
|
||||
#define LDAPMODIFY_BIND_CRED NULL
|
||||
/* search base */
|
||||
#define LDAPMODIFY_BASE DEFAULT_BASE
|
||||
|
||||
/*
|
||||
* LDAPDELETE TOOL
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define LDAPDELETE_BINDDN NULL
|
||||
#define LDAPDELETE_BIND_CRED NULL
|
||||
/* search base */
|
||||
#define LDAPDELETE_BASE DEFAULT_BASE
|
||||
|
||||
/*
|
||||
* LDAPMODRDN TOOL
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define LDAPMODRDN_BINDDN NULL
|
||||
#define LDAPMODRDN_BIND_CRED NULL
|
||||
/* search base */
|
||||
#define LDAPMODRDN_BASE DEFAULT_BASE
|
||||
|
||||
/*
|
||||
* MAIL500 MAILER DEFINITIONS
|
||||
*/
|
||||
/* who to bind as */
|
||||
#define MAIL500_BINDDN NULL
|
||||
#define MAIL500_BIND_CRED NULL
|
||||
/* max number of ambiguous matches reported */
|
||||
#define MAIL500_MAXAMBIGUOUS 10
|
||||
/* max subscribers allowed (size limit when searching for them ) */
|
||||
#define MAIL500_MAXGROUPMEMBERS LDAP_NO_LIMIT
|
||||
/* timeout for all searches */
|
||||
#define MAIL500_TIMEOUT 180
|
||||
/* sendmail location - mail500 needs to exec this */
|
||||
#define MAIL500_SENDMAIL "@SENDMAIL@"
|
||||
|
||||
/*
|
||||
* UD DEFINITIONS
|
||||
*/
|
||||
/* ud configuration file */
|
||||
#define UD_CONFIG_FILE "@SYSCONFDIR@/ud.conf"
|
||||
/* default editor */
|
||||
#define UD_DEFAULT_EDITOR "@EDITOR@"
|
||||
/* default bbasename of user config file */
|
||||
#define UD_USER_CONFIG_FILE ".udrc"
|
||||
/* default user to bind as */
|
||||
#define UD_BINDDN NULL
|
||||
/* default password to bind with */
|
||||
#define UD_BIND_CRED NULL
|
||||
/* default search base */
|
||||
#define UD_BASE DEFAULT_BASE
|
||||
/* default base where groups are created */
|
||||
#define UD_WHERE_GROUPS_ARE_CREATED ""
|
||||
/* default base below which all groups live */
|
||||
#define UD_WHERE_ALL_GROUPS_LIVE ""
|
||||
|
||||
/*
|
||||
* FAX500 DEFINITIONS
|
||||
*/
|
||||
/* what to bind as */
|
||||
#define FAX_BINDDN NULL
|
||||
#define FAX_BIND_CRED NULL
|
||||
/* default search base */
|
||||
#define FAX_BASE DEFAULT_BASE
|
||||
/* how long to wait for searches */
|
||||
#define FAX_TIMEOUT 180
|
||||
/* maximum number of ambiguous matches reported */
|
||||
#define FAX_MAXAMBIGUOUS 10
|
||||
/* maximum number of members allowed */
|
||||
#define FAX_MAXMEMBERS LDAP_NO_LIMIT
|
||||
/* program to send mail */
|
||||
#define FAX_SENDMAIL "@SENDMAIL@"
|
||||
|
||||
/*
|
||||
* RP500 DEFINITIONS
|
||||
*/
|
||||
/* what to bind as */
|
||||
#define RP_BINDDN NULL
|
||||
#define RP_BIND_CRED NULL
|
||||
/* default search base */
|
||||
#define RP_BASE DEFAULT_BASE
|
||||
|
||||
/* prefix to add to non-fully-qualified numbers */
|
||||
#define RP_PHONEPREFIX ""
|
||||
|
||||
/*
|
||||
* SLAPD DEFINITIONS
|
||||
*/
|
||||
/* location of the default slapd config file */
|
||||
#define SLAPD_DEFAULT_CONFIGFILE "@SYSCONFDIR@/slapd.conf"
|
||||
/* default sizelimit on number of entries from a search */
|
||||
#define SLAPD_DEFAULT_SIZELIMIT 500
|
||||
/* default timelimit to spend on a search */
|
||||
#define SLAPD_DEFAULT_TIMELIMIT 3600
|
||||
/* location of the slapd pid file */
|
||||
#define SLAPD_PIDFILE "@RUNDIR@/slapd.pid"
|
||||
/* location of the slapd args file */
|
||||
#define SLAPD_ARGSFILE "@RUNDIR@/slapd.args"
|
||||
/* dn of the special "monitor" entry */
|
||||
#define SLAPD_MONITOR_DN "cn=monitor"
|
||||
/* dn of the special "config" entry */
|
||||
#define SLAPD_CONFIG_DN "cn=config"
|
||||
/* minimum max ids that a single index entry can map to in ldbm */
|
||||
#define SLAPD_LDBM_MIN_MAXIDS 4000
|
||||
|
||||
#endif /* _LDAP_CONFIG_H */
|
@ -103,6 +103,27 @@
|
||||
/* Define if you have the mktime function. */
|
||||
#undef HAVE_MKTIME
|
||||
|
||||
/* Define if you have the pthread_attr_create function. */
|
||||
#undef HAVE_PTHREAD_ATTR_CREATE
|
||||
|
||||
/* Define if you have the pthread_attr_delete function. */
|
||||
#undef HAVE_PTHREAD_ATTR_DELETE
|
||||
|
||||
/* Define if you have the pthread_attr_destroy function. */
|
||||
#undef HAVE_PTHREAD_ATTR_DESTROY
|
||||
|
||||
/* Define if you have the pthread_attr_init function. */
|
||||
#undef HAVE_PTHREAD_ATTR_INIT
|
||||
|
||||
/* Define if you have the pthread_attr_setdetach_np function. */
|
||||
#undef HAVE_PTHREAD_ATTR_SETDETACH_NP
|
||||
|
||||
/* Define if you have the pthread_attr_setdetachstate function. */
|
||||
#undef HAVE_PTHREAD_ATTR_SETDETACHSTATE
|
||||
|
||||
/* Define if you have the pthread_kill function. */
|
||||
#undef HAVE_PTHREAD_KILL
|
||||
|
||||
/* Define if you have the pthread_yield function. */
|
||||
#undef HAVE_PTHREAD_YIELD
|
||||
|
||||
@ -187,6 +208,12 @@
|
||||
/* Define if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define if you have the <lwp/lwp.h> header file. */
|
||||
#undef HAVE_LWP_LWP_H
|
||||
|
||||
/* Define if you have the <mach/cthreads.h> header file. */
|
||||
#undef HAVE_MACH_CTHREADS_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#undef HAVE_MALLOC_H
|
||||
|
||||
@ -211,6 +238,9 @@
|
||||
/* Define if you have the <stddef.h> header file. */
|
||||
#undef HAVE_STDDEF_H
|
||||
|
||||
/* Define if you have the <synch.h> header file. */
|
||||
#undef HAVE_SYNCH_H
|
||||
|
||||
/* Define if you have the <sys/dir.h> header file. */
|
||||
#undef HAVE_SYS_DIR_H
|
||||
|
||||
@ -235,6 +265,9 @@
|
||||
/* Define if you have the <termio.h> header file. */
|
||||
#undef HAVE_TERMIO_H
|
||||
|
||||
/* Define if you have the <thread.h> header file. */
|
||||
#undef HAVE_THREAD_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user