mirror of
https://git.openafs.org/openafs.git
synced 2025-01-19 07:20:11 +00:00
043c31bf8d
Instead of the current event stack, which uses a sorted linked list, use a red/black tree to maintain the timer stack. This dramatically improves event insertion times, at the expense of some additional implementation complexity. This change also adds reference counting to the rxevent structure. We've always had a race between an event being fired, and that event being simultaneously cancelled by the user thread. Reference counting avoids that race resulting in the structure appearing twice in the free list. Change-Id: Icbef6e04e01f3eef5b888bc3cb77b7a3d1be26ae Reviewed-on: http://gerrit.openafs.org/5841 Tested-by: BuildBot <buildbot@rampaginggeek.com> Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com> Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
270 lines
7.2 KiB
Plaintext
270 lines
7.2 KiB
Plaintext
AC_PREREQ([2.60])
|
|
AC_INIT([OpenAFS], m4_esyscmd([build-tools/git-version .]))
|
|
AC_CONFIG_AUX_DIR([build-tools])
|
|
AC_CONFIG_SRCDIR([src/config/stds.h])
|
|
AM_INIT_AUTOMAKE
|
|
|
|
AC_CONFIG_HEADER(src/config/afsconfig.h)
|
|
MACOS_VERSION=1.5.76
|
|
#LINUX_PKGREL=0.pre3
|
|
LINUX_PKGREL=1.1
|
|
|
|
dnl Debian wants the release candidate version in the main upstream version,
|
|
dnl and wants ~ before it.
|
|
DEB_PKGVER=m4_esyscmd([build-tools/git-version .])
|
|
if echo "$LINUX_PKGREL" | grep pre >/dev/null 2>/dev/null ; then
|
|
DEB_PKGVER="$DEB_PKGVER"`echo "$LINUX_PKGREL" | sed 's/0.pre/~rc/'`
|
|
fi
|
|
|
|
AC_SUBST(MACOS_VERSION)
|
|
AC_SUBST(DEB_PKGVER)
|
|
|
|
dnl If the user hasn't specified CFLAGS don't let configure pick -g -O2
|
|
AS_IF([test -z "$CFLAGS"], [CFLAGS=" "], [])
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
|
|
AC_SUBST([PATH_CPP])
|
|
OPENAFS_CONFIGURE_COMMON
|
|
|
|
dnl Probe for Kerberos. We have a few platform-specific overrides due to
|
|
dnl weird Kerberos implementations and installation locations.
|
|
AS_CASE([$AFS_SYSNAME],
|
|
[*_obsd*],
|
|
[KRB5_CPPFLAGS="-I/usr/include/kerberosV"],
|
|
|
|
[ppc_darwin_70],
|
|
[KRB5_CPPFLAGS="-I/usr/include"
|
|
KRB5_LDFLAGS="-L/usr/lib -Wl,-search_paths_first"])
|
|
RRA_LIB_KRB5_OPTIONAL
|
|
AS_CASE([$AFS_SYSNAME],
|
|
[hp_ux*|*_hpux*],
|
|
[KRB5_LIBS="-l:libkrb5.sl -l:libcom_err.sl"])
|
|
|
|
dnl Check for the characteristics of whatever Kerberos we found, if we found
|
|
dnl one.
|
|
BUILD_KRB5=no
|
|
MAKE_KRB5="#"
|
|
AS_IF([test x"$KRB5_LIBS" != x],
|
|
[BUILD_KRB5=yes
|
|
MAKE_KRB5=
|
|
RRA_LIB_KRB5_SWITCH
|
|
AC_CHECK_FUNCS([add_error_table \
|
|
add_to_error_table \
|
|
encode_krb5_enc_tkt_part \
|
|
encode_krb5_ticket \
|
|
krb5_allow_weak_crypto \
|
|
krb5_c_encrypt \
|
|
krb5_decode_ticket \
|
|
krb5_enctype_enable \
|
|
krb5_get_init_creds_opt_alloc \
|
|
krb5_get_prompt_types \
|
|
krb5_princ_size \
|
|
krb5_principal_get_comp_string])
|
|
AC_CHECK_FUNCS([krb5_524_convert_creds], ,
|
|
[AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
|
|
[AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
|
|
[LIBS="-lkrb524 $LIBS"
|
|
KRB5_LIBS="-lkrb524 $KRB5_LIBS"
|
|
AC_DEFINE([HAVE_KRB524_CONVERT_CREDS_KDC], 1,
|
|
[Define to 1 if you have the `krb524_convert_creds_kdc' function.])])])])
|
|
AC_CHECK_HEADERS([kerberosIV/krb.h])
|
|
AC_CHECK_HEADERS([kerberosV/heim_err.h])
|
|
AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session,
|
|
krb5_prompt.type], , , [#include <krb5.h>])
|
|
RRA_LIB_KRB5_RESTORE])
|
|
AC_SUBST([BUILD_KRB5])
|
|
AC_SUBST([MAKE_KRB5])
|
|
|
|
dnl Probe for GSSAPI
|
|
RRA_LIB_GSSAPI
|
|
|
|
if test -d 'doc/man-pages' ; then
|
|
MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"
|
|
else
|
|
MAN_MAKEFILE=
|
|
fi
|
|
if test -f 'doc/xml/AdminGuide/Makefile.in' ; then
|
|
ADMINGUIDE_MAKEFILE="doc/xml/AdminGuide/Makefile"
|
|
else
|
|
ADMINGUIDE_MAKEFILE=
|
|
fi
|
|
if test -f 'doc/xml/QuickStartUnix/Makefile.in' ; then
|
|
QSUNIX_MAKEFILE="doc/xml/QuickStartUnix/Makefile"
|
|
else
|
|
QSUNIX_MAKEFILE=
|
|
fi
|
|
if test -f 'doc/xml/UserGuide/Makefile.in' ; then
|
|
USERGUIDE_MAKEFILE="doc/xml/UserGuide/Makefile"
|
|
else
|
|
USERGUIDE_MAKEFILE=
|
|
fi
|
|
if test -f 'doc/xml/AdminRef/Makefile.in' ; then
|
|
ADMINREF_MAKEFILE="doc/xml/AdminRef/Makefile"
|
|
else
|
|
ADMINREF_MAKEFILE=
|
|
fi
|
|
if test -f 'doc/xml/mobi-fixup.xsl.in' ; then
|
|
MOBI_FIXUP_XSL="doc/xml/mobi-fixup.xsl"
|
|
else
|
|
MOBI_FIXUP_XSL=
|
|
fi
|
|
|
|
AC_OUTPUT( \
|
|
Makefile \
|
|
${MAN_MAKEFILE} \
|
|
${ADMINGUIDE_MAKEFILE} \
|
|
${QSUNIX_MAKEFILE} \
|
|
${USERGUIDE_MAKEFILE} \
|
|
${ADMINREF_MAKEFILE} \
|
|
${MOBI_FIXUP_XSL} \
|
|
src/afs/Makefile \
|
|
src/afsd/Makefile \
|
|
src/afsmonitor/Makefile \
|
|
src/afsweb/Makefile \
|
|
src/aklog/Makefile \
|
|
src/audit/Makefile \
|
|
src/auth/Makefile \
|
|
src/auth/test/Makefile \
|
|
src/bozo/Makefile \
|
|
src/bozo/test/Makefile \
|
|
src/bu_utils/Makefile \
|
|
src/bubasics/Makefile \
|
|
src/bucoord/Makefile \
|
|
src/budb/Makefile \
|
|
src/tbudb/Makefile \
|
|
src/butc/Makefile \
|
|
src/butm/Makefile \
|
|
src/cmd/Makefile \
|
|
src/cmd/test/Makefile \
|
|
src/comerr/Makefile \
|
|
src/comerr/test/Makefile \
|
|
src/config/Makefile \
|
|
src/config/Makefile.config \
|
|
src/config/Makefile.lwp \
|
|
src/config/Makefile.pthread \
|
|
src/config/Makefile.shared \
|
|
src/config/Makefile.version-CML \
|
|
src/config/Makefile.version-NOCML \
|
|
src/config/shlib-build \
|
|
src/config/shlib-install \
|
|
src/crypto/hcrypto/Makefile \
|
|
src/crypto/rfc3961/Makefile \
|
|
src/dir/Makefile \
|
|
src/dir/test/Makefile \
|
|
src/dviced/Makefile \
|
|
src/dvolser/Makefile \
|
|
src/export/Makefile \
|
|
src/finale/Makefile \
|
|
src/fsint/Makefile \
|
|
src/fsprobe/Makefile \
|
|
src/gtx/Makefile \
|
|
src/JAVA/libjafs/Makefile \
|
|
src/kauth/Makefile \
|
|
src/kauth/test/Makefile \
|
|
src/kopenafs/Makefile \
|
|
src/libacl/Makefile \
|
|
src/libacl/test/Makefile \
|
|
src/libadmin/Makefile \
|
|
src/libadmin/adminutil/Makefile \
|
|
src/libadmin/bos/Makefile \
|
|
src/libadmin/cfg/Makefile \
|
|
src/libadmin/cfg/test/Makefile \
|
|
src/libadmin/client/Makefile \
|
|
src/libadmin/kas/Makefile \
|
|
src/libadmin/pts/Makefile \
|
|
src/libadmin/samples/Makefile \
|
|
src/libadmin/test/Makefile \
|
|
src/libadmin/vos/Makefile \
|
|
src/libafs/Makefile.common \
|
|
src/libafs/MakefileProto.${MKAFS_OSTYPE} \
|
|
${DARWIN_PLIST} \
|
|
src/libafsauthent/Makefile \
|
|
src/libafsrpc/Makefile \
|
|
src/libuafs/Makefile.common \
|
|
src/libuafs/MakefileProto.${MKAFS_OSTYPE} \
|
|
src/log/Makefile \
|
|
src/log/test/Makefile \
|
|
src/lwp/Makefile \
|
|
src/lwp/test/Makefile \
|
|
src/opr/Makefile \
|
|
src/packaging/Debian/changelog \
|
|
src/packaging/MacOS/OpenAFS-debug.Description.plist \
|
|
src/packaging/MacOS/OpenAFS-debug.Info.plist \
|
|
src/packaging/MacOS/OpenAFS.Description.plist \
|
|
src/packaging/MacOS/OpenAFS.Info.plist \
|
|
src/packaging/MacOS/OpenAFS.info \
|
|
src/packaging/MacOS/buildpkg.sh \
|
|
src/pam/Makefile \
|
|
src/platform/Makefile \
|
|
src/platform/${MKAFS_OSTYPE}/Makefile \
|
|
src/platform/DARWIN/growlagent/Makefile \
|
|
src/procmgmt/Makefile \
|
|
src/procmgmt/test/Makefile \
|
|
src/ptserver/Makefile \
|
|
src/tptserver/Makefile \
|
|
src/roken/Makefile \
|
|
src/rx/Makefile \
|
|
src/rx/bulk.example/Makefile \
|
|
src/rx/bulktest/Makefile \
|
|
src/rx/multi.example/Makefile \
|
|
src/rx/simple.example/Makefile \
|
|
src/rx/test/Makefile \
|
|
src/rxdebug/Makefile \
|
|
src/rxgen/Makefile \
|
|
src/rxkad/Makefile \
|
|
src/rxkad/test/Makefile \
|
|
src/rxosd/Makefile \
|
|
src/rxstat/Makefile \
|
|
src/scout/Makefile \
|
|
src/sgistuff/Makefile \
|
|
src/shlibafsauthent/Makefile \
|
|
src/shlibafsrpc/Makefile \
|
|
src/sys/Makefile \
|
|
src/tbutc/Makefile \
|
|
src/tests/Makefile \
|
|
src/tests/run-tests \
|
|
src/tsalvaged/Makefile \
|
|
src/tsm41/Makefile \
|
|
src/tviced/Makefile \
|
|
src/tvolser/Makefile \
|
|
src/ubik/Makefile \
|
|
src/tubik/Makefile \
|
|
src/update/Makefile \
|
|
src/usd/Makefile \
|
|
src/usd/test/Makefile \
|
|
src/uss/Makefile \
|
|
src/util/Makefile \
|
|
src/util/test/Makefile \
|
|
src/libafscp/Makefile \
|
|
src/venus/Makefile \
|
|
src/venus/test/Makefile \
|
|
src/vfsck/Makefile \
|
|
src/viced/Makefile \
|
|
src/vlserver/Makefile \
|
|
src/tvlserver/Makefile \
|
|
src/vol/Makefile \
|
|
src/vol/test/Makefile \
|
|
src/volser/Makefile \
|
|
src/xstat/Makefile \
|
|
src/helper-splint.sh \
|
|
tests/Makefile \
|
|
tests/auth/Makefile \
|
|
tests/cmd/Makefile \
|
|
tests/common/Makefile \
|
|
tests/opr/Makefile \
|
|
tests/rpctestlib/Makefile \
|
|
tests/rx/Makefile \
|
|
tests/tap/Makefile \
|
|
tests/util/Makefile \
|
|
tests/volser/Makefile,
|
|
|
|
[chmod a+x src/config/shlib-build
|
|
chmod a+x src/config/shlib-install])
|
|
|
|
# print a final summary
|
|
SUMMARY
|