[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bug-hello] bootstrap vs. autoreconf
From: |
Alexandre Duret-Lutz |
Subject: |
Re: [bug-hello] bootstrap vs. autoreconf |
Date: |
Sat, 11 Dec 2004 00:24:00 +0100 |
User-agent: |
Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux) |
>>> "Karl" == Karl Berry <address@hidden> writes:
Karl> Regarding the question of a bootstrap script.
Karl> I think that GNU Hello (and thus by implication all GNU packages :)
Karl> *should* provide a bootstrap script, for building out of CVS.
Exactly what I'm saying! This bootstrap script should be called
`autoreconf'. Having a uniform bootstrapping process for all
packages is what we have been working for over the last years by
teaching people how to stop handcrafting these scripts. If
`autoreconf' is not enough, it needs to be fixed, so everybody
benefit from it.
Karl> Perhaps all bootstrap will do in many cases is call
Karl> autoreconf. But I still think it should be provided,
Karl> because it gives the maintainer flexibility to do other
Karl> things:
I now I'll sound like an extremist, but I think it gives too
much flexibility.
If you teach people to use `autoreconf' and only `autoreconf',
they will have to setup their package as appropriate for
`autoreconf' to work. When you get such a package, you know
what to expect from it, because they all work the same
(bootstrap-wise).
If you teach people to write bootstrap scripts they sure will
do. And the scripts will grow. And every package will have a
different bootstrap procedure.
[...]
Karl> - the bootstrap script is a convenient place to warn
Karl> people about vagaries
Wouldn't it be better to fix the vagaries so you don't have to
warn people?
[...]
Karl> - in practice, right now I believe autoreconf cannot
Karl> really be used with gnulib. When I tried this for
Karl> Texinfo, autoreconf overwrote lots of new gnulib files
Karl> with its own older versions.
This should happen if you asked for it (with the --force option).
Karl> So my bootstrap runs $ACLOCAL -I m4 && $AUTOHEADER &&
Karl> $AUTOMAKE && $AUTOCONF
This is equivalent to running autoreconf. Except that
autoreconf will call `aclocal -I m4' only if your Makefile.am
correctly sets ACLOCAL_AMFLAGS, while the above line will work
even if the Makefile.am mistakenly says nothing about it. IOW
the above line potentially hides a bug (which is unfortunately
present in many packages).
Anyway, I see I'm not going to convince anybody, especially
since I'm repeating myself, so I better spare our time and stop
arguing about this. Thanks God, none of you have yet retorted
that Automake does have a bootstrap script :)
--
Alexandre Duret-Lutz