Re: ANNOUNCE: Autoconf version of ROOT 2.21.08

From: Matthew D. Langston (langston@SLAC.stanford.edu)
Date: Sat Apr 17 1999 - 04:04:33 MEST


Hi Rene,

Rene Brun wrote:
> 
> We have agreed to move to the CVS environment for compatibility
> reasons with many experiments/labs.  However, we also know that many
> Root users are not happy with this decision.

Unfortunately, I did not attend the ROOT workshop at FNAL.  However, I
am surprised to learn that CVS is not popular among many ROOT users.

What else is there, other than CVS, that allows thousands of developers
from all over the world who work on hundreds of different platforms to
efficiently share a single repository of revision controlled source code
using a client/server model?  If there are dissenters in the fold, then
I am not one of them.  When the ROOT source code is available via CVS so
that all I have to do is

  cvs -d :pserver:anoncvs@root.cern.ch:/cvs/root co root

Then I will think that it is Christmas, or that I have died and gone to
heaven, or both!

> They request simple Makefiles.  By "simple" I mean "REALLY simple",
> not pages of Makefiles calling a tree of Makefiles.

GNU Autoconf, Automake and Libtool are new tools to many people, and I
understand that there will always be resistance to anything that is new.
This is natural.  Hopefully the Autoconfed implementation of ROOT will
give users new to GNU Autoconf, Automake and Libtool a real world
working example using these tools.

The purpose of GNU Autoconf is to make software portable.  The purpose
of GNU Automake is to make writing Makefiles simple.  The purpose of GNU
Libtool is to make creating shared libraries portable and simple.  Each
of these three tools will benefit any package that must me portable and
easy to maintain.

> If the installation procedure requires too many assumptions, tools to
> be implemented before they can start, this will not fly.  The majority
> of our distributions is still binary distributions.  Moving to a new
> distribution mechanism implies that:
>
>  - the new mechanism must be generally available.
>  - it must be working on ALL platforms

A package that uses GNU Autoconf, Automake and Libtool requires very
little of a package.  In particular it is important to note that users
of a package which uses GNU Autoconf, Automake and Libtool *do not* need
these tools installed on their systems.

For example, if ROOT adopts GNU Autoconf, Automake and Libtool, then
users who want to download ROOT and compile it on their own *do not*
need GNU Autoconf, Automake and Libtool.  All they need is `sh', `make',
and a C and C++ compiler (and a Fortran 77 compiler if they want to
build h2root as well).

The only people who will need to install GNU Autoconf, Autoconf and
Libtool are those people who develop ROOT (i.e. those people who want to
change the `configure.in' and `Makefile.am' files).

--
Matthew D. Langston
SLD, Stanford Linear Accelerator Center
langston@SLAC.Stanford.EDU
541.346.4722



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:31 MET