2010-04-19 20:48:14 +01:00
|
|
|
AC_PREREQ([2.60])
|
2013-06-22 17:17:04 +01:00
|
|
|
AC_INIT([OpenAFS],
|
|
|
|
m4_esyscmd([build-tools/git-version .]),
|
|
|
|
[openafs-bugs@openafs.org],,
|
|
|
|
[http://www.openafs.org/])
|
2010-07-15 01:29:34 +01:00
|
|
|
AC_CONFIG_AUX_DIR([build-tools])
|
Add libtool support
Add support for using libtool to the Unix build system to build
both pthreaded and lwp libraries. For purely pthread libraries,
this just provides convenience macros to invoke the standard GNU
libtool from the OpenAFS build system. For libraries that have
lwp variants, we provide an initial wrapper script - lwptool,
which handles building a non-PIC LWP object before asking libtool
to build the pthread variants.
For a given source example.c, example.o is the non-PIC pthread
object, .libs/example.o is the PIC pthread object, and
.lwp/example.o is the LWP object.
To use libtool for a particular library directory, add the line
include @TOP_OBJDIR@/src/config/Makefile.libtool
to the file's preamble. Makefile.pthread, or Makefile.lwp should be
included as normal to indicate whether the libraries in this Makefile
are pthread only, or should be built for both pthread and LWP objects.
The variables LT_current, LT_revision and LT_age may be used to control
the version of the shared objects produced. They have the same meaning
as that documented in the Versioning section of the libtool manual.
The LT_objs variable should be set to a space separated list of the .lo
objects included in the library. Note that there should _never_ be a
dependency on the .o form of these objects in the Makefile, as this
breaks parallel builds.
LT_deps is a list of the libtool dependencies of the library, and
LT_libs is a list of the external (non-OpenAFS) library dependencies.
A file called <libraryname>.sym should be created which contains a
newline seperated list of all of the symbols exported from this
library.
LWP library names remain the same as always. To distinguish the
pthreaded static and shared libraries these
LWP libraries should be linked using
libexample.a: $(LT_objs)
$(LTLWP_LDLIB) $(LT_objs)
Shared libraries should be linked using
libexample.la: $(LT_objs) $(LT_deps)
(note that the pattern rules in the included Makefile take care of the
build rule here)
If necessary, static convenience libraries can be produced using:
libconvenience.a: $(LT_objs)
$(LTLWP_LDLIB_static) $(LT_objs)
PIC convenience libaries can be linked using:
libconvenience_pic.a: $(LT_objs)
$(LTLWP_LDLIB_pic) $(LT_objs)
Libtool libraries should be installed using the $(LT_INSTALL_DATA) macro
Binaries linking agains libtool libraries should be linked using the
$(LT_LDRULE) or $(LT_LRDULE_static) options, with library paths in the
built locations relative to the top of the tree. For example
example_test: example_test.o $(top_builddir)/src/example/libexample.la
$(LT_LDRULE) example_test.o \
$(top_builddir)/src/example/libexample.la
Change-Id: I32b162e8443119e8115febc532c5b5a0ec8fed32
Reviewed-on: http://gerrit.openafs.org/8033
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
2012-05-21 08:57:05 +01:00
|
|
|
AC_CONFIG_MACRO_DIR([src/cf])
|
2010-06-26 17:39:20 +01:00
|
|
|
AC_CONFIG_SRCDIR([src/config/stds.h])
|
2013-06-22 17:20:22 +01:00
|
|
|
AM_INIT_AUTOMAKE([foreign])
|
2010-06-26 17:39:20 +01:00
|
|
|
|
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
|
|
|
|
|
Add libtool support
Add support for using libtool to the Unix build system to build
both pthreaded and lwp libraries. For purely pthread libraries,
this just provides convenience macros to invoke the standard GNU
libtool from the OpenAFS build system. For libraries that have
lwp variants, we provide an initial wrapper script - lwptool,
which handles building a non-PIC LWP object before asking libtool
to build the pthread variants.
For a given source example.c, example.o is the non-PIC pthread
object, .libs/example.o is the PIC pthread object, and
.lwp/example.o is the LWP object.
To use libtool for a particular library directory, add the line
include @TOP_OBJDIR@/src/config/Makefile.libtool
to the file's preamble. Makefile.pthread, or Makefile.lwp should be
included as normal to indicate whether the libraries in this Makefile
are pthread only, or should be built for both pthread and LWP objects.
The variables LT_current, LT_revision and LT_age may be used to control
the version of the shared objects produced. They have the same meaning
as that documented in the Versioning section of the libtool manual.
The LT_objs variable should be set to a space separated list of the .lo
objects included in the library. Note that there should _never_ be a
dependency on the .o form of these objects in the Makefile, as this
breaks parallel builds.
LT_deps is a list of the libtool dependencies of the library, and
LT_libs is a list of the external (non-OpenAFS) library dependencies.
A file called <libraryname>.sym should be created which contains a
newline seperated list of all of the symbols exported from this
library.
LWP library names remain the same as always. To distinguish the
pthreaded static and shared libraries these
LWP libraries should be linked using
libexample.a: $(LT_objs)
$(LTLWP_LDLIB) $(LT_objs)
Shared libraries should be linked using
libexample.la: $(LT_objs) $(LT_deps)
(note that the pattern rules in the included Makefile take care of the
build rule here)
If necessary, static convenience libraries can be produced using:
libconvenience.a: $(LT_objs)
$(LTLWP_LDLIB_static) $(LT_objs)
PIC convenience libaries can be linked using:
libconvenience_pic.a: $(LT_objs)
$(LTLWP_LDLIB_pic) $(LT_objs)
Libtool libraries should be installed using the $(LT_INSTALL_DATA) macro
Binaries linking agains libtool libraries should be linked using the
$(LT_LDRULE) or $(LT_LRDULE_static) options, with library paths in the
built locations relative to the top of the tree. For example
example_test: example_test.o $(top_builddir)/src/example/libexample.la
$(LT_LDRULE) example_test.o \
$(top_builddir)/src/example/libexample.la
Change-Id: I32b162e8443119e8115febc532c5b5a0ec8fed32
Reviewed-on: http://gerrit.openafs.org/8033
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
2012-05-21 08:57:05 +01:00
|
|
|
LT_INIT
|
|
|
|
|
2002-02-16 18:23:44 +00:00
|
|
|
AC_PROG_CC
|
2012-05-21 18:04:32 +01:00
|
|
|
AC_PROG_LIBTOOL
|
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 \
|
2012-06-12 18:46:46 +01:00
|
|
|
krb5_524_conv_principal \
|
2010-05-26 04:19:14 +01:00
|
|
|
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"
|
2012-06-12 18:46:46 +01:00
|
|
|
AC_CHECK_LIB([krb524], [krb5_524_conv_principal],
|
|
|
|
[AC_DEFINE([HAVE_KRB5_524_CONV_PRINCIPAL], 1,
|
|
|
|
[Define to 1 if you have the `krb5_524_conv_principal' function.])])
|
2010-05-26 04:19:14 +01:00
|
|
|
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>])
|
2013-03-28 21:42:58 +00:00
|
|
|
dnl If we have krb5_creds.session, we are using heimdal
|
|
|
|
dnl If we're using heimdal, aklog needs libasn1 for encode_EncTicketPart and a
|
|
|
|
dnl few other functions. But just aklog; not any of the other stuff that uses
|
|
|
|
dnl krb5.
|
|
|
|
AS_IF([test x"$ac_cv_member_krb5_creds_session" = xyes],
|
|
|
|
[AC_CHECK_LIB([asn1], [encode_EncTicketPart],
|
|
|
|
[AKLOG_KRB5_LIBS="-lasn1"])])
|
2010-05-26 04:19:14 +01:00
|
|
|
RRA_LIB_KRB5_RESTORE])
|
|
|
|
AC_SUBST([BUILD_KRB5])
|
|
|
|
AC_SUBST([MAKE_KRB5])
|
2013-03-28 21:42:58 +00:00
|
|
|
AC_SUBST([AKLOG_KRB5_LIBS])
|
2010-05-26 04:19:14 +01:00
|
|
|
|
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 \
|
Add libtool support
Add support for using libtool to the Unix build system to build
both pthreaded and lwp libraries. For purely pthread libraries,
this just provides convenience macros to invoke the standard GNU
libtool from the OpenAFS build system. For libraries that have
lwp variants, we provide an initial wrapper script - lwptool,
which handles building a non-PIC LWP object before asking libtool
to build the pthread variants.
For a given source example.c, example.o is the non-PIC pthread
object, .libs/example.o is the PIC pthread object, and
.lwp/example.o is the LWP object.
To use libtool for a particular library directory, add the line
include @TOP_OBJDIR@/src/config/Makefile.libtool
to the file's preamble. Makefile.pthread, or Makefile.lwp should be
included as normal to indicate whether the libraries in this Makefile
are pthread only, or should be built for both pthread and LWP objects.
The variables LT_current, LT_revision and LT_age may be used to control
the version of the shared objects produced. They have the same meaning
as that documented in the Versioning section of the libtool manual.
The LT_objs variable should be set to a space separated list of the .lo
objects included in the library. Note that there should _never_ be a
dependency on the .o form of these objects in the Makefile, as this
breaks parallel builds.
LT_deps is a list of the libtool dependencies of the library, and
LT_libs is a list of the external (non-OpenAFS) library dependencies.
A file called <libraryname>.sym should be created which contains a
newline seperated list of all of the symbols exported from this
library.
LWP library names remain the same as always. To distinguish the
pthreaded static and shared libraries these
LWP libraries should be linked using
libexample.a: $(LT_objs)
$(LTLWP_LDLIB) $(LT_objs)
Shared libraries should be linked using
libexample.la: $(LT_objs) $(LT_deps)
(note that the pattern rules in the included Makefile take care of the
build rule here)
If necessary, static convenience libraries can be produced using:
libconvenience.a: $(LT_objs)
$(LTLWP_LDLIB_static) $(LT_objs)
PIC convenience libaries can be linked using:
libconvenience_pic.a: $(LT_objs)
$(LTLWP_LDLIB_pic) $(LT_objs)
Libtool libraries should be installed using the $(LT_INSTALL_DATA) macro
Binaries linking agains libtool libraries should be linked using the
$(LT_LDRULE) or $(LT_LRDULE_static) options, with library paths in the
built locations relative to the top of the tree. For example
example_test: example_test.o $(top_builddir)/src/example/libexample.la
$(LT_LDRULE) example_test.o \
$(top_builddir)/src/example/libexample.la
Change-Id: I32b162e8443119e8115febc532c5b5a0ec8fed32
Reviewed-on: http://gerrit.openafs.org/8033
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
2012-05-21 08:57:05 +01:00
|
|
|
src/config/Makefile.libtool \
|
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 \
|
Split up libtool support into LWP and pthread
Currently, the type of library you build is determined by whether
the library is build in a pthread, or an lwp build directory. However,
this prevents building an LWP library in a directory that builds
pthreaded clients and servers.
As we want to continue to provide LWP libraries for backwards
compatibility, but move over to pthreaded binaries, this causes
some issues.
So, split up the libtool logic, so we have Makefile.libtool, which
you include if you want to build a pthreaded libtool library, and
Makefile.lwptool, for building a library which supports LWP and
pthreaded use. These only affect how .lo files are built - so the
.o files used for non-library objects are managed with the
Makefile.pthread and Makefile.lwp includes as before.
Change-Id: Ib1af48342253230abab9056eb15a3f79bd77a6de
Reviewed-on: http://gerrit.openafs.org/8126
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
2012-09-16 15:39:25 +01:00
|
|
|
src/config/Makefile.lwptool \
|
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.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 \
|
2011-07-10 10:24:26 +01:00
|
|
|
src/opr/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 \
|
|
|
|
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 \
|
2012-04-03 18:51:38 +01:00
|
|
|
src/tools/Makefile \
|
2012-04-17 22:28:14 +01:00
|
|
|
src/tools/dumpscan/Makefile \
|
2012-04-17 23:19:17 +01:00
|
|
|
src/tools/rxperf/Makefile \
|
2006-03-17 19:54:26 +00:00
|
|
|
src/tsalvaged/Makefile \
|
2001-08-02 17:45:35 +01:00
|
|
|
src/tsm41/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 \
|
2011-10-22 09:43:41 +01:00
|
|
|
tests/opr/Makefile \
|
2010-06-24 14:07:36 +01:00
|
|
|
tests/rpctestlib/Makefile \
|
2011-10-23 21:21:39 +01:00
|
|
|
tests/rx/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
|