Hi,

On Sun, Jan 29, 2006, Matthew D. Fuller wrote about "[ctwm] Re: Small 
installation issues, and a f.resize bug":
> > You mention the auto* tools, and although they are good and tested,
> > the result is definitely not portable outside of the Unix family or
> > operating systems, and there are much more that have X11.
> 
> As well, not everybody is a big fan of auto*...

I see now that lack of volunteers isn't what prevented autoconf from being
used in ctwm, but rather people don't really like it. I can accept that,
but I hope you won't mind that I just explain for one last time the rationale
behind autoconf and why most project prefer it, and then shut up on this
subject.

Autoconf is not just a specific tool to configure a makefile - it is also a
configuration philosophy. Its philosophy, as I see it, has two basic premises:

 1. Configuration should be based on many small questions (do we have this
    library? do we have that function or that header file?), and not on
    platform questions (is this Linux?). The reason for this is that platform
    questions deal poorly with new platforms, or with new versions of a
    platform or with local variations of a common platform: E.g., it could be
    that a particular version of SunOS didn't have a certain library, but a
    different version has it, or someone installed on a specific machine this
    library.
    Ctwm's configuration is already in line with this part of the philosophy.

 2. Users should not be asked questions that are better answered autmatically.
    For example, the questions we now ask ctwm installers to answer, like
    "do you have librplay and if you do, where is it" (and similarly for other
    libraries) are very problematic. Even I, a very experienced Unix and Linux
    user, did not know if I had this library (which I never heard of)
    installed, and I had to check it; So if answering this question doesn't
    require any thinking - just checking - why shouldn't the configuration
    script do that automatically?

A third benefit of autoconf is the installation's simplicity: in 90% of the
cases, the user can just do "configure; make; make install". And today, most
users know that sequence and frown upon more complictated ad-hoc sequences
like "cp Imakefile.local.template Imakefile.local; vi Imakefile.local;
[do some editing]; make; make install; make install.man"

In rare cases where the user needs to change the defaults, "configure" also
has options, and those can be explained in the README.

Note that everything I said was about autoconf, and autoconf only. I never
suggested using any other "auto*" tools (such as automake), which I always
considered unnecessary. I think the phrase "auto*" meant to encompass autoconf
and automake is a poor one, because the word "auto" in "autoconf" and
"automake" refers to completely different things. Why?
The word "auto" in the name "autoconf" doesn't mean "a tool to help the
developers write a Makefile automatically" (which rightly sounds useless to
good developers, like the ctwm developers :)). Rather, it is "a tool to
create a script that individual users use to automatically adapt an
installation process to their system".
It automates things for the individual user, not for the developer.
And that can hardly be a bad thing.

> > From everything I can find (the worst thing with imake is it's
> > *utter* *lack* *of* *documentation*!), that's the way it's supposed
> > to be, probably to avoid reinstalling the man pages multiple times
> > on a shared filesystem in a heterogenous environment.
> 
> Changing it would require some hackery in higher-level build systems,
> too.  For instance, FreeBSD ports knows that Imake-managed build
> systems use install.man to install manpages, so it will do the
> install.man as part of its install process already.

Yes, but individual users are no longer familiar with this process (which
very few programs use these days), so it can't hurt to mention this in
the README. This is all I asked for - not to merge the "make install.man"
into "make install".

-- 
Nadav Har'El                        |       Monday, Jan 30 2006, 1 Shevat 5766
[EMAIL PROTECTED]             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |How to become immortal: Read this
http://nadav.harel.org.il           |signature tomorrow and follow its advice.

Reply via email to