2010-04-19 20:48:14 +01:00
|
|
|
AC_PREREQ([2.60])
|
2010-06-29 21:45:36 +01:00
|
|
|
AC_INIT([OpenAFS], m4_esyscmd([build-tools/git-version .]))
|
2010-07-15 01:29:34 +01:00
|
|
|
AC_CONFIG_AUX_DIR([build-tools])
|
2010-06-26 17:39:20 +01:00
|
|
|
AC_CONFIG_SRCDIR([src/config/stds.h])
|
|
|
|
AM_INIT_AUTOMAKE
|
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
AC_CONFIG_HEADER(src/config/afsconfig.h)
|
2010-08-12 05:33:58 +01:00
|
|
|
MACOS_VERSION=1.5.76
|
2008-04-08 20:35:51 +01:00
|
|
|
#LINUX_PKGREL=0.pre3
|
2009-07-31 22:53:18 +01:00
|
|
|
LINUX_PKGREL=1.1
|
2007-10-11 18:51:56 +01:00
|
|
|
|
2010-04-14 00:32:49 +01:00
|
|
|
dnl Debian wants the release candidate version in the main upstream version,
|
|
|
|
dnl and wants ~ before it.
|
2010-07-14 20:33:40 +01:00
|
|
|
DEB_PKGVER=m4_esyscmd([build-tools/git-version .])
|
2010-04-14 00:32:49 +01:00
|
|
|
if echo "$LINUX_PKGREL" | grep pre >/dev/null 2>/dev/null ; then
|
2010-07-14 20:33:40 +01:00
|
|
|
DEB_PKGVER="$DEB_PKGVER"`echo "$LINUX_PKGREL" | sed 's/0.pre/~rc/'`
|
2010-04-14 00:32:49 +01:00
|
|
|
fi
|
|
|
|
|
2007-10-11 18:51:56 +01:00
|
|
|
AC_SUBST(MACOS_VERSION)
|
2010-04-14 00:32:49 +01:00
|
|
|
AC_SUBST(DEB_PKGVER)
|
2001-06-28 07:44:19 +01:00
|
|
|
|
2010-10-04 13:45:53 +01:00
|
|
|
dnl If the user hasn't specified CFLAGS don't let configure pick -g -O2
|
|
|
|
AS_IF([test -z "$CFLAGS"], [CFLAGS=" "], [])
|
2011-01-19 22:57:25 +00:00
|
|
|
|
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
|
|
|
|
2002-02-16 18:23:44 +00:00
|
|
|
AC_PROG_CC
|
2010-10-04 13:45:53 +01:00
|
|
|
|
2009-03-17 15:44:15 +00:00
|
|
|
AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
|
2008-07-01 01:00:40 +01:00
|
|
|
AC_SUBST([PATH_CPP])
|
2001-10-09 16:48:25 +01:00
|
|
|
OPENAFS_CONFIGURE_COMMON
|
2001-06-28 07:44:19 +01:00
|
|
|
|
2010-05-26 04:19:14 +01:00
|
|
|
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 \
|
2010-06-04 03:50:14 +01:00
|
|
|
krb5_get_init_creds_opt_alloc \
|
2010-05-26 04:19:14 +01:00
|
|
|
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])
|
2010-07-03 20:02:30 +01:00
|
|
|
AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session,
|
2010-05-26 04:19:14 +01:00
|
|
|
krb5_prompt.type], , , [#include <krb5.h>])
|
|
|
|
RRA_LIB_KRB5_RESTORE])
|
|
|
|
AC_SUBST([BUILD_KRB5])
|
|
|
|
AC_SUBST([MAKE_KRB5])
|
|
|
|
|
2010-09-02 08:44:27 +01:00
|
|
|
dnl Probe for GSSAPI
|
|
|
|
RRA_LIB_GSSAPI
|
|
|
|
|
2005-10-15 17:00:57 +01:00
|
|
|
if test -d 'doc/man-pages' ; then
|
2005-12-22 07:29:52 +00:00
|
|
|
MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"
|
2005-10-15 17:00:57 +01:00
|
|
|
else
|
|
|
|
MAN_MAKEFILE=
|
|
|
|
fi
|
2009-05-27 21:44:24 +01:00
|
|
|
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
|
2011-08-13 15:18:45 +01:00
|
|
|
if test -f 'doc/xml/AdminRef/Makefile.in' ; then
|
|
|
|
ADMINREF_MAKEFILE="doc/xml/AdminRef/Makefile"
|
|
|
|
else
|
|
|
|
ADMINREF_MAKEFILE=
|
|
|
|
fi
|
2011-06-08 15:44:21 +01:00
|
|
|
if test -f 'doc/xml/mobi-fixup.xsl.in' ; then
|
|
|
|
MOBI_FIXUP_XSL="doc/xml/mobi-fixup.xsl"
|
|
|
|
else
|
|
|
|
MOBI_FIXUP_XSL=
|
|
|
|
fi
|
2005-10-15 17:00:57 +01:00
|
|
|
|
2001-06-28 07:44:19 +01:00
|
|
|
AC_OUTPUT( \
|
|
|
|
Makefile \
|
2005-10-15 17:00:57 +01:00
|
|
|
${MAN_MAKEFILE} \
|
2009-05-27 21:44:24 +01:00
|
|
|
${ADMINGUIDE_MAKEFILE} \
|
|
|
|
${QSUNIX_MAKEFILE} \
|
|
|
|
${USERGUIDE_MAKEFILE} \
|
2011-08-13 15:18:45 +01:00
|
|
|
${ADMINREF_MAKEFILE} \
|
2011-06-08 15:44:21 +01:00
|
|
|
${MOBI_FIXUP_XSL} \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/afs/Makefile \
|
|
|
|
src/afsd/Makefile \
|
|
|
|
src/afsmonitor/Makefile \
|
|
|
|
src/afsweb/Makefile \
|
2005-06-19 03:06:21 +01:00
|
|
|
src/aklog/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/audit/Makefile \
|
|
|
|
src/auth/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/auth/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/bozo/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/bozo/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/bu_utils/Makefile \
|
|
|
|
src/bubasics/Makefile \
|
|
|
|
src/bucoord/Makefile \
|
|
|
|
src/budb/Makefile \
|
2008-04-02 21:47:27 +01:00
|
|
|
src/tbudb/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/butc/Makefile \
|
|
|
|
src/butm/Makefile \
|
|
|
|
src/cmd/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/cmd/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/comerr/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/comerr/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/config/Makefile \
|
2001-11-01 04:59:26 +00:00
|
|
|
src/config/Makefile.config \
|
Unix: Rework build system
Rework the unix build system so that we support taking CFLAGS and
LDFLAGS from the command line, and don't replace them with our own
settings. Also, take the opportunity to bring some sanity and
consistency into our Makefiles.
The standard Makefile.config now defines rules for LWP, pthreaded
and shared library builds. The CFLAGS settings for these are
called LWP_CFLAGS, PTH_CFLAGS and SHD_CFLAGS, respectively.
Similarly named variables are provided for LDFLAGS.
A module may select to use a particular build type for its suffix
rule by including either Makefile.lwp, Makefile.pthread or
Makefile.shared from src/config. This creates an appropriate .c.o
suffix rule, defines AFS_CFLAGS and AFS_LDFLAGS as appropriate, and
creates two rules AFS_CCRULE and AFS_LDRULE, which can be used to
build, and link objects. For example:
foo.o: foo.c
$(AFS_CCRULE) foo.c
foo: foo.o
$(AFS_LDRULE) foo.o
If a you wish to override the CFLAGS or LDFLAGS for an object build
using these rules (or through the .c.o suffix rule) you can do so,
by defining CFLAGS_<object> or LDFLAGS_<object>. For example:
CFLAGS_foo.o= -DDEBUG
LDFLAGS_foo = -ldebugging
A module may also alter the behaviour of the compile and link steps
module wide by defining MODULE_CFLAGS or MODULE_LDFLAGS.
This functionality is now used throughout the tree:
*) Suffix rules are used wherever possible, removing a number of
unecessary build rules.
*) All link steps are replaced with AFS_LDRULE
*) All standard compile steps are replaced with AFS_CCRULE
*) Unusal compile steps are defined, as far as possible, int
terms of the LWP_ PTH_ and SHD_ variables.
*) The use of $? has been removed entirely, as it makes it
impossible to provide build rules with dependency information
Change-Id: If76207e45da402a0ed9d7c1bdbe83c58c911a4f2
Reviewed-on: http://gerrit.openafs.org/2896
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 13:49:16 +01:00
|
|
|
src/config/Makefile.lwp \
|
|
|
|
src/config/Makefile.pthread \
|
|
|
|
src/config/Makefile.shared \
|
2009-05-27 21:44:24 +01:00
|
|
|
src/config/Makefile.version-CML \
|
2001-08-29 03:19:55 +01:00
|
|
|
src/config/Makefile.version-NOCML \
|
2006-08-02 23:54:51 +01:00
|
|
|
src/config/shlib-build \
|
|
|
|
src/config/shlib-install \
|
2010-04-07 21:45:39 +01:00
|
|
|
src/crypto/hcrypto/Makefile \
|
2010-09-13 13:54:32 +01:00
|
|
|
src/crypto/rfc3961/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/dir/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/dir/test/Makefile \
|
2010-07-13 21:47:39 +01:00
|
|
|
src/dviced/Makefile \
|
|
|
|
src/dvolser/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/export/Makefile \
|
|
|
|
src/finale/Makefile \
|
|
|
|
src/fsint/Makefile \
|
|
|
|
src/fsprobe/Makefile \
|
|
|
|
src/gtx/Makefile \
|
2002-07-26 07:33:59 +01:00
|
|
|
src/JAVA/libjafs/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/kauth/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/kauth/test/Makefile \
|
2006-08-02 18:47:29 +01:00
|
|
|
src/kopenafs/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/libacl/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/libacl/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/libadmin/Makefile \
|
2006-08-02 20:59:40 +01:00
|
|
|
src/libadmin/adminutil/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/libadmin/bos/Makefile \
|
|
|
|
src/libadmin/cfg/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/libadmin/cfg/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/libadmin/client/Makefile \
|
|
|
|
src/libadmin/kas/Makefile \
|
|
|
|
src/libadmin/pts/Makefile \
|
|
|
|
src/libadmin/samples/Makefile \
|
|
|
|
src/libadmin/test/Makefile \
|
|
|
|
src/libadmin/vos/Makefile \
|
2001-10-18 01:06:58 +01:00
|
|
|
src/libafs/Makefile.common \
|
2001-08-29 03:19:55 +01:00
|
|
|
src/libafs/MakefileProto.${MKAFS_OSTYPE} \
|
2001-09-12 07:00:46 +01:00
|
|
|
${DARWIN_PLIST} \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/libafsauthent/Makefile \
|
|
|
|
src/libafsrpc/Makefile \
|
2001-10-18 01:06:58 +01:00
|
|
|
src/libuafs/Makefile.common \
|
2001-08-29 03:19:55 +01:00
|
|
|
src/libuafs/MakefileProto.${MKAFS_OSTYPE} \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/log/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/log/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/lwp/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/lwp/test/Makefile \
|
2010-04-14 00:32:49 +01:00
|
|
|
src/packaging/Debian/changelog \
|
2010-01-17 06:10:28 +00:00
|
|
|
src/packaging/MacOS/OpenAFS-debug.Description.plist \
|
|
|
|
src/packaging/MacOS/OpenAFS-debug.Info.plist \
|
|
|
|
src/packaging/MacOS/OpenAFS.Description.plist \
|
2007-10-11 18:51:56 +01:00
|
|
|
src/packaging/MacOS/OpenAFS.Info.plist \
|
|
|
|
src/packaging/MacOS/OpenAFS.info \
|
2007-11-09 19:47:18 +00:00
|
|
|
src/packaging/MacOS/buildpkg.sh \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/pam/Makefile \
|
2006-08-01 22:43:34 +01:00
|
|
|
src/platform/Makefile \
|
|
|
|
src/platform/${MKAFS_OSTYPE}/Makefile \
|
2010-03-04 21:07:14 +00:00
|
|
|
src/platform/DARWIN/growlagent/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/procmgmt/Makefile \
|
|
|
|
src/procmgmt/test/Makefile \
|
|
|
|
src/ptserver/Makefile \
|
2008-04-02 21:47:27 +01:00
|
|
|
src/tptserver/Makefile \
|
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-29 12:10:16 +01:00
|
|
|
src/roken/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
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 \
|
2001-09-10 21:15:57 +01:00
|
|
|
src/rxdebug/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/rxgen/Makefile \
|
|
|
|
src/rxkad/Makefile \
|
|
|
|
src/rxkad/test/Makefile \
|
2010-10-26 19:43:59 +01:00
|
|
|
src/rxosd/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/rxstat/Makefile \
|
|
|
|
src/scout/Makefile \
|
|
|
|
src/sgistuff/Makefile \
|
2002-08-28 08:05:43 +01:00
|
|
|
src/shlibafsauthent/Makefile \
|
|
|
|
src/shlibafsrpc/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/sys/Makefile \
|
|
|
|
src/tbutc/Makefile \
|
2002-01-14 07:49:15 +00:00
|
|
|
src/tests/Makefile \
|
2002-01-17 10:43:28 +00:00
|
|
|
src/tests/run-tests \
|
2006-03-17 19:54:26 +00:00
|
|
|
src/tsalvaged/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/tsm41/Makefile \
|
|
|
|
src/tviced/Makefile \
|
2003-11-15 04:59:08 +00:00
|
|
|
src/tvolser/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/ubik/Makefile \
|
2008-04-02 21:47:27 +01:00
|
|
|
src/tubik/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/update/Makefile \
|
|
|
|
src/usd/Makefile \
|
2006-08-02 20:59:40 +01:00
|
|
|
src/usd/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/uss/Makefile \
|
|
|
|
src/util/Makefile \
|
|
|
|
src/util/test/Makefile \
|
2010-07-03 20:02:30 +01:00
|
|
|
src/libafscp/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/venus/Makefile \
|
2005-06-22 19:35:20 +01:00
|
|
|
src/venus/test/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/vfsck/Makefile \
|
|
|
|
src/viced/Makefile \
|
|
|
|
src/vlserver/Makefile \
|
2008-04-02 21:47:27 +01:00
|
|
|
src/tvlserver/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/vol/Makefile \
|
|
|
|
src/vol/test/Makefile \
|
|
|
|
src/volser/Makefile \
|
|
|
|
src/xstat/Makefile \
|
2010-05-28 17:35:28 +01:00
|
|
|
src/helper-splint.sh \
|
|
|
|
tests/Makefile \
|
2010-09-15 11:17:14 +01:00
|
|
|
tests/auth/Makefile \
|
2011-04-23 16:42:54 +01:00
|
|
|
tests/cmd/Makefile \
|
2011-05-30 17:47:35 +01:00
|
|
|
tests/common/Makefile \
|
2010-06-24 14:07:36 +01:00
|
|
|
tests/rpctestlib/Makefile \
|
2010-05-28 20:15:52 +01:00
|
|
|
tests/tap/Makefile \
|
2011-05-31 09:30:41 +01:00
|
|
|
tests/util/Makefile \
|
|
|
|
tests/volser/Makefile,
|
2006-08-02 23:54:51 +01:00
|
|
|
|
|
|
|
[chmod a+x src/config/shlib-build
|
|
|
|
chmod a+x src/config/shlib-install])
|
2010-11-21 22:01:53 +00:00
|
|
|
|
|
|
|
# print a final summary
|
|
|
|
SUMMARY
|