9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Aharon Robbins <arnold@skeeve.com>
To: 9fans@cse.psu.edu
Subject: [9fans] Re: configure misery
Date: Sun, 16 Nov 2003 10:04:15 +0200	[thread overview]
Message-ID: <200311160804.hAG84F7Y002284@skeeve.com> (raw)

In article <81132473206F3A46A72BD6116E1A06AE479CA3@black.aprote.com>,
Tiit Lankots <9fans@cse.psu.edu> wrote:
>>Seeing as how this is grep, the + is NOT a metacharacter. Thus it's
>
>Not necessarily. GNU grep (by far the most widespread by now) is using
>the 'extended' syntax where + IS a metacharacter.
>IIRC, the configure-suite is assuming GNU tools.
>
>Tiit

Incorrect. The whole point of configure is to make it possible to configure
programs across the whole range of unix systems.  Particularly for standard
things like grep, the assumption is that GNU tools are NOT present. (Even there,
I'm pretty sure that plain grep uses \+ to make + a metacharacter.)

Autoconf requires GNU m4 to *generate* configure, but no non-standard tools
are required to run the generated script.

As for vitriol aimed at configure, come down from the Ivory Tower for a
little bit, people.  Consider what existed when it was first written in
the late '80s and early '90s.  A huge morass of different vendor systems
with a vast swamp of hodge-podge features.  The only way to know if you
have a library function or kernel feature is to try to test for it; you
can't rely on ifdefs.

The Autoconf machinery abstracts *a lot* of this away, where you, the
program author, don't have to deal with it.  *Switching* a program to
use Autoconf is a pain.  But the gain is well worth it. I went through this
with gawk in the mid-90s.  Look at gawk-2.15.6 (if you can find it) with
a bunch of little files for all the different kinds of systems out there.
ALL of which had to be maintained MANUALLY.  Now, I work with configure.ac
and Makefile.am, which are fairly easy to manage once setup, and the rest
of the headache is gone.

POSIX has helped considerably, but it hasn't made Unix systems homogenous.
Autoconf solved (and solves) a real problem (vendor Unix divergence)
for those of us without the luxury of working under Plan 9 all day.
And old systems (SunOS 4.x, Ultrix) *are* still in use.

Sure configure itself is huge.  It's object code though, not source code.
And IMHO the Makefiles generated by Automake are too complicated.  But
would I switch back to doing things manually?  No Way.

FWIW, gawk ships as standard on every Linux system and most or all BSDs,
and configures, compiles and runs out of the box on over a dozen different
kinds of Unix systems.  On all of them, ALL of them, the incantation is
ONE LINE:

	./configure && make all check install

Compare that to:

	for each vendor Unix system I happen to have
	do
		while it doesn't make
		do
			vi myprog.h Makefile
			make
		done
	done

And multiply that by all the different packages you'd like to install.

Now tell me what you, the poor sysadmin, would rather spend your time doing?

Flames to /dev/null.

Arnold


             reply	other threads:[~2003-11-16  8:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-16  8:04 Aharon Robbins [this message]
2003-11-16  8:37 ` Geoff Collyer
2003-11-16 14:46   ` Charles Forsyth
2003-11-16  9:53 ` Bruce Ellis
2003-11-16 19:11 ` Lyndon Nerenberg
2003-11-16 19:32   ` andrey mirtchovski
2003-11-16 21:43     ` Dan Cross
2003-11-16 23:37       ` Lyndon Nerenberg
2003-11-17  0:04         ` mirtchov
2003-11-17  0:04           ` boyd, rounin
2003-11-17  3:18         ` Dan Cross
2003-11-17  3:28           ` boyd, rounin
2003-11-16 21:46     ` Russ Cox
2003-11-16 22:24       ` mirtchov
2003-11-16 22:47         ` Russ Cox
2003-11-17  0:38         ` Mike Haertel
2003-11-16 22:38       ` Lyndon Nerenberg
2003-11-16 22:41         ` boyd, rounin
2003-11-18 12:54         ` Aharon Robbins
2003-11-18 14:11           ` Russ Cox
2003-11-18 14:55             ` Joel Salomon
2003-11-17  0:24       ` Enache Adrian
2003-11-17 12:16         ` Aharon Robbins
2003-11-17 23:16           ` Taj Khattra
2003-11-16 19:58   ` boyd, rounin
2003-11-17  0:30     ` [9fans] mmap (was configure misery) Geoff Collyer
2003-11-17  0:29       ` boyd, rounin
2003-11-17 12:25   ` [9fans] Re: configure misery Aharon Robbins
2003-11-17  0:42 ` John Stalker
2003-11-17 12:28   ` Aharon Robbins
2003-11-17 12:42     ` Lucio De Re
2003-11-17 12:53       ` Lucio De Re
2003-11-17 13:43         ` Aharon Robbins
2003-11-17 15:06           ` mirtchov
2003-11-17 15:35           ` David Presotto
2003-11-17 16:31       ` John Stalker
2003-11-17 17:19         ` Aharon Robbins
2004-01-30 15:30 [9fans] Re: [hangar18-general] Frustration Jim Choate
2004-02-03 17:11 ` [9fans] Re: configure misery rog
2004-02-04 16:48   ` Jim Choate
2004-02-03  3:49 Li Yi
2004-02-03 11:30 ` Aharon Robbins
2004-02-03 13:32   ` a
2004-02-03 15:34     ` Jim Choate
2004-02-03 16:29       ` a
2004-02-03 14:18   ` andrey mirtchovski
2004-02-03 15:36     ` Jim Choate
2004-02-03 16:32       ` boyd, rounin
2004-02-03 16:42         ` Jim Choate
2004-02-03 23:53       ` David Presotto
2004-02-04  8:13     ` Aharon Robbins
2004-02-03 15:33   ` Jim Choate
2004-02-03 16:27     ` a
2004-02-03 16:44       ` Jim Choate
2004-02-03 16:53         ` andrey mirtchovski
2004-02-04 16:45           ` Jim Choate
2004-02-03 17:01         ` Wes Kussmaul
2004-02-04 17:47 Spamm Trapp

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=200311160804.hAG84F7Y002284@skeeve.com \
    --to=arnold@skeeve.com \
    --cc=9fans@cse.psu.edu \
    /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).