unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Tom Lord <lord@emf.net>
Cc: rlb@defaultvalue.org
Subject: Re: AARRRRGGH! Die Libtool, die!
Date: Sat, 15 Feb 2003 16:56:12 -0800 (PST)	[thread overview]
Message-ID: <200302160056.QAA15802@morrowfield.regexps.com> (raw)
In-Reply-To: <15950.54058.520676.489870@blauw.xs4all.nl> (message from Han-Wen Nienhuys on Sun, 16 Feb 2003 00:54:18 +0100)



       > (Personally, I'd rather have all those tools (auto* included)
       >  written in something like perl -- it's nearly as ubiquitous
       >  and *far* more managable.  Of course perl couldn't use them
       >  then, but AFAIK, it doesn't anyway.)

       I would use Python myself, but otherwise I concur.

Bah.

Both perl and python are not stable.  `sh' hasn't changed much in a
decade and probably won't for another decade if ever.  `sh' is more
than adequate for the job.   If you must reach for something more,
especially on this list, for gosh sakes, pick something rooted in
stable standards: reach for SCSH, you traitors.

The problems with the auto* family of tools include:

	1) reliance on separate distribution

	   Everything depends on those tools, and those tools aren't
           stable.  Build systems are an area where you want
           conventions, not dependencies.  It sucks that developers
           have to keep multiple versions of these tools around.


	2) wrong approach to application portability

	   The portability problem these days is much smaller than it
           was when autoconf was conceived.  Feature tests are an
           inelegant solution that has, for the most part, failed
           (just try building a randomly selected set of public
           projects on anything other than a recent GNU/Linux system).

	   A better use of everyone's time would be to work on 
           designing and stabilizing a portability library against
           which new applications could be built and to which old
           applications can be ported.


	3) wrong approach to /bin/sh portability (m4)

	   The `/bin/sh' portability problem is much smaller today
           than it was when autoconf was conceived.   The role of
           m4 (GNU m4 specifically, no less) in autoconf has outlived
           its usefulness.   The obfuscation cost of the use of m4
           in autoconf now outweighs its payoff.


	4) wrong approach to makefile portability

	   The `make' portability problem is much smaller today 
           than it was when autoconf was conceived.  The auto* family
           clings to requirement of makefile portability even while
           GNU make runs pretty much everywhere.


	5) wrong approach to makefile automation

	   Roughly speaking, `automake' bridges the gap between
	   historic versions of `make' and the capabilities of GNU
	   make.   If you commit to GNU make, you simply do not need
           automake.


	6) lack of consideration for package management

	   The functionality of package managers belongs in the 
           configure/build tools.


	7) excessive complexity

	   I've scientifically measured it and the result is official:
	   the auto* family is a gazillion times more complicated than
           it needs to be.   Of course, the battle-scarred maintainers
	   of these packages will regale with you with horror stories
	   about how each and every detail of the auto* family came
	   into being -- but they'll also falsely ask you to believe
	   that those stories justify making each and every free
	   software project dependent on solutions to 20 year old
	   problems that no longer exist.

	etc.

Oh yeah -- did I mention that my `package-framework' contains the
skeleton of a replacement for the auto* family?  I guess I must be
biased....

-t


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2003-02-16  0:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-15 14:36 AARRRRGGH! Die Libtool, die! Han-Wen Nienhuys
2003-02-15 20:46 ` Rob Browning
2003-02-15 23:54   ` Han-Wen Nienhuys
2003-02-16  0:56     ` Tom Lord [this message]
2003-02-18 11:24       ` tomas
2003-02-18 17:14       ` Rob Browning
2003-02-18 18:50         ` rm
2003-02-19 13:04           ` tomas
2003-02-21 17:28           ` Rob Browning
2003-02-16  1:09     ` Rob Browning
  -- strict thread matches above, loose matches on Subject: below --
2003-02-15 14:26 Han-Wen Nienhuys
2003-02-18 11:04 ` tomas

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

  List information: https://www.gnu.org/software/guile/

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

  git send-email \
    --in-reply-to=200302160056.QAA15802@morrowfield.regexps.com \
    --to=lord@emf.net \
    --cc=rlb@defaultvalue.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 read-only IMAP folder(s) and NNTP newsgroup(s).