Hi,
The autotools build will be added to xrootd CVS very soon (Peter and I will
try to get it done this week).
Please give me some feedback to the following, since this will have an impact
on all developers.
I propose to keep the old configure and GNUmakefiles at least for some time as
second possibility until people get accustomed or until we have more
experience from people using the new build (also, the autotools configure is
slower, since it does more complicated testing of a system).
So, we should move the old "configure" to something like configure.classic (in
the repository, to keep the CVS history) or else the autotools generated
configure will overwrite it every time, and by error you might check it in to
CVS.
The autotools configure will move all GNUmakefiles to GNUmakefile.classics, so
that they do not interfere afterwards. The configure.classic will move any
GNUmakefile.classic back to the old name. This way we can use both build
flavours for now.
My experience is that it is not a good idea to have the autotools produced
files (Makefile.in configure aclocal.m4, etc.) in the CVS, because the files
may come out with wrong time information and then autotools will want to
recreate some of the derived files, just confusing people who do not know
them.
People who want to build from CVS will need autotools on their system and they
will usually be developers, not normal users.
The most usual way to build for normal users will be from a tarball. These
tarballs can be easily produced by a developer by just typing "make dist" in
the top directory and automake will automatically include all the required
files (which includes naturally the configure script, Makefile.ins, etc.).
Version information should be changed only in the configure.ac file. Then it
is passed to all deriving files as either as a #define or as an autoconf
replacement.
Binary tarballs and RPMs are also easily produced, because the autotools
created Makefiles respect "make install" and DESTDIR (for staging an RPM
build) conventions.
You will see by looking at the Makefile.ams, that they are fairly easy to
write. For a nice conceptual overview with examples the autobook is still the
best reference:
http://sources.redhat.com/autobook/autobook/autobook_toc.html
Cheers,
Derek
--
Dr. Derek Feichtinger Tel: +41 22 767 10 07
LCG/ARDA Group email: [log in to unmask]
CERN http://people.web.psi.ch/feichtinger
CH-1211 Genève 23
|