git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jerome Lovy <rqe28bj3vfyi4eo@jetable.net>
To: git@vger.kernel.org
Subject: Re: Autoconf/Automake
Date: Fri, 16 Jun 2006 11:06:02 +0200	[thread overview]
Message-ID: <e6tso3$s3s$1@sea.gmane.org> (raw)
In-Reply-To: <20060615174833.GA32247@dspnet.fr.eu.org>

Olivier Galibert wrote:
> On Thu, Jun 15, 2006 at 10:02:10AM -0700, Linus Torvalds wrote:
> 
>>These days, there aren't fifteen different versions of UNIX. There's a 
>>couple, and it's perfectly ok to actually say "fix your damn system and 
>>just install GNU make". It's easier to install GNU make than it is to 
>>install autoconf/automake.
> 
> 
> You should be careful to separate autoconf and automake.  Autoconf is
> not so bad, and you can make clean, maintainable Makefile.in and
> config.h.in files with it, because it uses simple substitution.  It is
> quite useful to detect available librairies when some are optional,
> and also to lightly[1] ensure that prefix and friends will stay the
> same between make and make install.  Also, especially if you hack a
> little bit to alias 'enable' and 'with', you get a sane interface to
> optional feature selection.  Oh, and to seperate compilation
> directories too (vpath generation).

I fully agree with Olivier. It seems to me that you don't have to buy 
the whole autoconf/automake/libtool stack to leverage the autoconf 
functionality. autoconf alone provides the full "autoconfiguration" 
framework (running scriptlets and setting substitution variables 
accordingly). You still have to write Makefile.in (with statements 
looking like: CC=@CC@). Therefore the resulting Makefile is just as 
beautiful or as ugly as you wrote the initial Makefile.in: you have full 
control over it.

As for dependencies, one shouldn't confuse what is needed on the 
autoconfiguration developer's side (in order to build the configure 
script from the configure.in file) and what is needed on the installer's 
side to run the configure script and process the generated makefile. The 
former needs the autoconf package which itself relies on GNU m4. The 
latter merely needs a decently compatible Bourne shell and a decently 
compatible make.

On the other hand, what you get with automake is a fully automatically 
generated makefile, with make targets conforming to the GNU standards. 
But then you fully loose control over the Makefile: you don't write the 
Makefile.in anymore (automake does it for you) but rather the terce 
Makefile.am. In this respect, automake is like imake: you write few 
lines of (i)makefile, but then you cannot complain if you don't 
understand what comes in the generated makefile ;-) .

Jérôme Lovy

  parent reply	other threads:[~2006-06-16  9:20 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-14 22:27 Autoconf/Automake Pavel Roskin
2006-06-14 22:45 ` Autoconf/Automake Linus Torvalds
2006-06-14 22:54 ` Autoconf/Automake Bertrand Jacquin
2006-06-14 23:18 ` Autoconf/Automake Timo Hirvonen
2006-06-15  7:24 ` Autoconf/Automake Yann Dirson
2006-06-15 13:31   ` Autoconf/Automake Alex Riesen
2006-06-15 16:32     ` Autoconf/Automake Yann Dirson
2006-06-15 17:02       ` Autoconf/Automake Linus Torvalds
2006-06-15 17:48         ` Autoconf/Automake Olivier Galibert
2006-06-15 18:03           ` Autoconf/Automake Jakub Narebski
2006-06-15 18:19             ` Autoconf/Automake Olivier Galibert
2006-06-16 18:23             ` Autoconf/Automake Petr Baudis
2006-06-16  9:06           ` Jerome Lovy [this message]
2006-06-15 20:17         ` Autoconf/Automake Yakov Lerner
2006-06-15 21:14         ` Autoconf/Automake Yann Dirson
2006-06-15 22:54           ` Autoconf/Automake Linus Torvalds
2006-06-15 23:10             ` Autoconf/Automake Johannes Schindelin
2006-06-16  6:51               ` Autoconf/Automake Nikolai Weibull
2006-06-15 20:10     ` Autoconf/Automake Phil Richards
2006-06-15 20:32       ` Autoconf/Automake Timo Hirvonen
2006-06-15 20:42       ` Autoconf/Automake Johannes Schindelin
2006-06-15 22:05         ` Autoconf/Automake Yann Dirson
2006-06-15 22:58           ` Autoconf/Automake Johannes Schindelin
2006-06-16 20:17             ` Autoconf/Automake Yann Dirson
2006-06-16 20:42               ` Autoconf/Automake Petr Baudis
2006-06-16 18:31           ` Autoconf/Automake Petr Baudis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='e6tso3$s3s$1@sea.gmane.org' \
    --to=rqe28bj3vfyi4eo@jetable.net \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).