auto, [auto posix mach lwp yes no manual] )
OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
auto, [auto yes no manual] )
-OL_ARG_WITH(tls,[ --with-tls use tls/ssl],
+OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
auto, [auto ssleay openssl yes no] )
dnl Server options
dnl Checks for programs
AC_PROG_INSTALL
+
+dnl The default compiler is cc (NOT gcc)
+CC=${CC-"cc"}
+dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
+CFLAGS=${CFLAGS-""}
+
AM_PROG_LIBTOOL
dnl AC_PROG_MAKE_SET
dnl Check for SSL/TLS
dnl
ol_link_tls=no
-if test $ol_with_tls = auto -o $ol_with_tls = ssleay \
- -o $ol_with_tls = openssl ; then
+if test $ol_with_tls != no ; then
AC_CHECK_HEADERS(ssl.h)
if test $ac_cv_header_ssl_h = yes ; then
- AC_CHECK_LIB( ssl, SSLeay_add_ssl_algorithms,
- [have_ssleay=yes], [have_ssleay=no], [-lcrypto])
+ AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms,
+ [have_ssleay=yes
+ need_rsaref=no],
+ [have_ssleay=no],
+ [-lcrypto])
+ if test $have_ssleay = no ; then
+ AC_CHECK_LIB(ssl, ssl3_accept,
+ [have_ssleay=yes
+ need_rsaref=yes], [have_ssleay=no],
+ [-lcrypto -lRSAglue -lrsaref])
+ fi
+
if test $have_ssleay = yes ; then
ol_with_tls=found
ol_link_tls=yes
- AC_DEFINE( HAVE_SSLEAY, 1,
- [define if you have SSLeay] )
+ AC_DEFINE(HAVE_SSLEAY, 1,
+ [define if you have SSLeay or OpenSSL])
- TLS_LIBS="-lssl -lcrypto"
+ if test $need_rsaref = yes; then
+ TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref"
+ else
+ TLS_LIBS="-lssl -lcrypto"
+ fi
fi
fi
fi
if test $ol_link_tls = yes ; then
- AC_DEFINE( HAVE_TLS, 1, [define if you have TLS] )
+ AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
fi
+dnl Tests for reentrant functions necessary to build a
+dnl thread_safe -lldap.
+AC_CHECK_FUNCS( \
+ ctime_r \
+ gethostbyname_r gethostbyaddr_r \
+)
+
+if test "$ac_cv_func_ctime_r" = no ; then
+ ol_cv_func_ctime_r_nargs=0
+else
+ OL_FUNC_CTIME_R_NARGS
+dnl OL_FUNC_CTIME_R_TYPE
+fi
+
+if test "$ac_cv_func_gethostbyname_r" = yes ; then
+ OL_FUNC_GETHOSTBYNAME_R_NARGS
+else
+ ol_cv_func_gethostbyname_r_nargs=0
+fi
+
+if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
+ OL_FUNC_GETHOSTBYADDR_R_NARGS
+else
+ ol_cv_func_gethostbyaddr_r_nargs=0
+fi
+
+if test "$ac_cv_func_ctime_r" = yes \
+ -a "$ol_cv_func_ctime_r_nargs" -ge 2 \
+ -a "$ol_cv_func_ctime_r_nargs" -le 3 \
+ -a "$ac_cv_func_gethostbyname_r" = yes \
+ -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 \
+ -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
+ -a "$ac_cv_func_gethostbyaddr_r" = yes \
+ -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 \
+ -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
+ ; then
+
+ AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT,1)
+fi
+
ol_link_threads=no
if test $ol_with_threads = auto -o $ol_with_threads = yes \
-o $ol_with_threads = posix ; then
dnl save the flags
save_LIBS="$LIBS"
LIBS="-kthread $LIBS"
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_create(NULL,NULL,NULL,NULL);],
+ AC_TRY_LINK([#include <pthread.h>],[
+#if HAVE_PTHREADS_D4
+ pthread_create(NULL,pthread_attr_default,NULL,NULL);
+#else
+ pthread_create(NULL,NULL,NULL,NULL);
+#endif
+],
[ol_cv_kthread_flag=yes], [ol_cv_kthread_flag=no])
dnl restore the LIBS
LIBS="$save_LIBS"
dnl save the flags
save_LIBS="$LIBS"
LIBS="-pthread $LIBS"
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_create(NULL,NULL,NULL,NULL);],
+ AC_TRY_LINK([#include <pthread.h>],[
+#if HAVE_PTHREADS_D4
+ pthread_create(NULL,pthread_attr_default,NULL,NULL);
+#else
+ pthread_create(NULL,NULL,NULL,NULL);
+#endif
+],
[ol_cv_pthread_flag=yes], [ol_cv_pthread_flag=no])
dnl restore the LIBS
LIBS="$save_LIBS"
dnl save the flags
save_LIBS="$LIBS"
LIBS="-pthreads $LIBS"
- AC_TRY_LINK([#include <pthread.h>],
- [pthread_create(NULL,NULL,NULL,NULL);],
+ AC_TRY_LINK([#include <pthread.h>],[
+#if HAVE_PTHREADS_D4
+ pthread_create(NULL,pthread_attr_default,NULL,NULL);
+#else
+ pthread_create(NULL,NULL,NULL,NULL);
+#endif
+],
[ol_cv_pthreads_flag=yes], [ol_cv_pthreads_flag=no])
dnl restore the LIBS
LIBS="$save_LIBS"
char **argv;
{
pthread_t t;
+#if HAVE_PTHREADS_D4
+ exit(pthread_create(&t, pthread_attr_default, task, NULL));
+#else
exit(pthread_create(&t, NULL, task, NULL));
+#endif
}
],
[ol_cv_pthread_create_works=yes],
AC_MSG_RESULT($ol_cv_pthread_create_works)
if test $ol_cv_pthread_create_works = no ; then
- AC_MSG_ERROR([pthread.h and pthread_create are not compatible])
+ AC_MSG_ERROR([pthread_create is not usable, check environment settings])
fi
dnl Check if select causes an yield
#endif
#endif
+#if HAVE_PTHREADS_D4
+ pthread_create(&t, pthread_attr_default, task, NULL);
+#else
pthread_create(&t, NULL, task, NULL);
+#endif
#if HAVE_SCHED_YIELD
sched_yield(); /* make sure task runs first */
dnl LIBS="$save_LIBS"
fi
-dnl ----------------------------------------------------------------
-
if test $ol_link_threads = no ; then
if test $ol_with_threads = yes ; then
AC_MSG_ERROR([no suitable thread support])
LTHREAD_LIBS=""
fi
+if test $ol_link_threads != no ; then
+ AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE,1)
+fi
+
+dnl ----------------------------------------------------------------
+
ol_link_ldbm=no
if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
OL_BERKELEY_DB2
waitpid \
)
-# these functions are required to build a thread_safe -lldap
-AC_CHECK_FUNCS( \
- ctime_r \
- gethostbyaddr_r \
- gethostbyname_r \
-)
-
-if test "$ac_cv_func_ctime_r" = yes ; then
- OL_FUNC_CTIME_R_NARGS
-else
- ol_cv_func_ctime_r=0
-fi
-
-if test "$ac_cv_func_gethostbyname_r" = yes ; then
- OL_FUNC_GETHOSTBYNAME_R_NARGS
-else
- ol_cv_func_gethostbyname_r=0
-fi
-
-if test "$ac_cv_func_gethostbyaddr_r" = yes ; then
- OL_FUNC_GETHOSTBYADDR_R_NARGS
-else
- ol_cv_func_gethostbyaddr_r=0
-fi
-
-if test "$ac_cv_func_ctime_r" = yes \
- -a "$ol_cv_func_ctime_r_nargs" -ge 2 -a "$ol_cv_func_ctime_r_nargs" -le 3 \
- -a "$ol_cv_func_gethostbyname_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyname_r_nargs" -le 6 \
- -a "$ol_cv_func_gethostbyaddr_r_nargs" -ge 5 -a "$ol_cv_func_gethostbyaddr_r_nargs" -le 6 \
- -a "$ac_cv_func_gethostbyaddr_r" = yes \
- -a "$ac_cv_func_gethostbyname_r" = yes \
- ; then
-
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_REENTRANT, 1)
-fi
-
-if test $ol_link_threads != no ; then
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE, 1)
-fi
-
dnl We actually may need to replace more than this.
AC_REPLACE_FUNCS(getopt tempnam)