openafs/configure.ac
Simon Wilkinson 5e47d03ed3 Add libroken as its own library
Include libroken as a library in its own right, so that the whole
of the code can benefit from it. This change purely adds libroken
for the Unix build system. It doesn't replace those pieces of
libroken in hcrypto or util, or enable it for Windows.

There is also the option of using a system-install libroken, if one is
found at configure time.
  *) If --with-libroken=yes, or is not supplied than a system library
     will be used if suitable. Otherwise, we'll use the internal
     libroken
  *) If --with-libroken=/path/to/installation then the libroken at
     that path will be used. If there is no libroken there, or it
     is not suitable, an error will be returned
  *) If --with-libroken=internal then the internal libroken is used,
     regardless of what is present on the system.

We deliberately do not provide installed headers for the internal
libroken. If other applications wish to make use of libroken, then
they should use the Heimdal one, rather than piggybacking on ours.

Change-Id: Iff01e1e17090404cc8e4783108ae8a8784170918
Reviewed-on: http://gerrit.openafs.org/3191
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-31 19:00:23 -07:00

248 lines
6.7 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_PKGVER=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(LINUX_PKGVER)
AC_SUBST(LINUX_PKGREL)
AC_SUBST(DEB_PKGVER)
AC_USE_SYSTEM_EXTENSIONS
dnl If the user hasn't specified CFLAGS don't let configure pick -g -O2
AS_IF([test -z "$CFLAGS"], [CFLAGS=" "], [])
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.session,
krb5_prompt.type], , , [#include <krb5.h>])
RRA_LIB_KRB5_RESTORE])
AC_SUBST([BUILD_KRB5])
AC_SUBST([MAKE_KRB5])
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
AC_OUTPUT( \
Makefile \
${MAN_MAKEFILE} \
${ADMINGUIDE_MAKEFILE} \
${QSUNIX_MAKEFILE} \
${USERGUIDE_MAKEFILE} \
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/des/Makefile \
src/des/test/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/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/packaging/RedHat/openafs.spec \
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/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/rpctestlib/Makefile \
tests/tap/Makefile \
tests/util/Makefile,
[chmod a+x src/config/shlib-build
chmod a+x src/config/shlib-install])