Print

Print


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