axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Axiom-developer] Building Axiom with unmodified noweb


From: Bill Page
Subject: RE: [Axiom-developer] Building Axiom with unmodified noweb
Date: Tue, 8 Aug 2006 11:22:06 -0400

Ralf,

On August 8, 2006 9:20 AM Ralf Hemmecke wrote:
> ... 
> The file src/algebra/Lattice.pamphlet is just 1.7 MB and about
> 45,000 lines. My emacs dies when it automatically tries to
> font-lock that file. :-(
> 

Yes, it is ridiculously huge. The same is true of several other
Makefiles. I argued with Tim Daly over this. He claimed that the
regular structure of these "dirt simple" files makes them easy
to maintain and he adamantly resisted any sort of more sophisticated
gnu make methods that would make the files much shorter. I still do
not accept this view. I think shorter is (almost) always better even
if it means you have to learn a little more about the tools you are
using.

> Anyway, I believe quite a lot of the Makefile code in there could be 
> made much shorter. In particular, lines like the one above could be 
> generated by looking into ${IN}/xpoly.spad.pamphlet.
> 
>  >perl -n -e 'if 
> (/^<<(domain|category|package)\s+([^\s]+)\s+([^\s]+)>>=\s*$/){print 
> "[$1] ($2) <$3>\n"}' src/algebra/xpoly.spad.pamphlet
> 
> (that is just ONE line and it produces...)
> 
> [domain] (OFMONOID) <OrderedFreeMonoid>
> ...
> etc.

This is similar to the awk scripts that I wrote for
src/algebra/Makefile.pamphlet take a look at the chunks

<<findSpadFiles>>
<<findBootstrapFiles>>

> 
> I am quite sure that all the hundreds of targets in Lattice.pamphlet 
> follow exactly the same pattern. Shouldn't we have a short program
> that replaces 40,000 Makefile lines???
> 

Yes! Before I finally got Tim to accept my change to
src/algebra/Makefile.pamphlet it was similar in size and as far
as I was concerned it was unmaintainable.

A minor point: Should we assume 'perl' as a build dependency? I
only assumed 'awk' - which one might view as an older and simpler
version of 'perl'. But I am not against assuming the presence of
'perl' and getting rid of the old 'awk' scripts.

Regards,
Bill Page.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]