axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Re: [Axiom-mail] Re: noweb


From: Gabriel Dos Reis
Subject: [Axiom-developer] Re: [Axiom-mail] Re: noweb
Date: 14 Aug 2006 21:14:40 +0200

root <address@hidden> writes:

| > It stands in my way for having a more structured build system.
| > 
| > When in the cyle design-code-build-test; I don't need all those dvi
| > that document insist on building.  I have configure generate my
| > Makefiles, but document want to generate its own.
| > 
| > document was a necessary step to get Axiom to the state where it is
| > now.  But now, it either has to give the way or mutate significantly.
| > Most of the functionalities offered by document are superceded in my
| > work. So, unless, it mutates and offers me something I need and I don't
| > have now, it must be retired.
| 
| eh? again i'm confused.
| 
| 'document' is like 'tar', it handles a pamphlet file format with options
| just like 'tar' handles gzip files.

Here is the content of 'document' (silver branch, same as gold branch).

    #!/bin/sh
    latex=`which latex`
    if [ "$latex" = "" ] ; then
      echo document ERROR You must install latex first
      exit 0
    fi

    tangle=$AXIOM/bin/lib/notangle
    weave=$AXIOM/bin/lib/noweave
    if [ "$#" = "3" ]; then
     REDIRECT=$2
     FILE=`basename $3 .pamphlet`
     $tangle -t8 $FILE.pamphlet >$FILE
     $weave -delay $FILE.pamphlet >$FILE.tex
     $latex --interaction nonstopmode $FILE.tex >$REDIRECT
     $latex --interaction nonstopmode $FILE.tex >$REDIRECT
     rm -f $FILE~
     rm -f $FILE.pamphlet~
     rm -f $FILE.log
     rm -f $FILE.tex
     rm -f $FILE.toc
     rm -f $FILE.aux
     exit 0
    fi
    if [ "$#" = "1" ]; then
     FILE=`basename $1 .pamphlet`
     $tangle -t8 $FILE.pamphlet >$FILE
     $weave -delay $FILE.pamphlet >$FILE.tex
     $latex $FILE.tex 
     $latex $FILE.tex
     rm -f $FILE~
     rm -f $FILE.pamphlet~
     rm -f $FILE.log
     rm -f $FILE.tex
     rm -f $FILE.toc
     rm -f $FILE.aux
     exit 0
    fi
    echo "document [ -o redirect ] pamphlet"


As you can see, document insists on LaTeXing a file, which, as I said,
when in a design-code-build-test mode, I'm not interested in.  It just
wastes my time.  I rather have a separate [hase for building .dvi
files than trying to conflate everything together.  Maybe that mode
will be only for developers, but then document is not my solution.

Futhermore, my Makefiles are generated from configure using .in files
as inputs (the infiles themselves are generated from pamphlet files)
-- I don't want document to touch them, it simply it not sophisticated
enough to understand what is going on.

On the build-improvements branch for example, here is the sequence of
events:

  * developer edits Makefile.pamphlet.
  * developer produces Makefile.in from pamphlet files

  * users invokes ./configure
  * configure reads in Makefile.in, compute values for some
    placeholders  in Makefile.in (Makefile.pamphlet) and instantiate
    Makefile (in the build directory) reflection configure options,
    build and target systems.

document can't understand that and handle that.

BTW, document has been modified (on the build-improvments branch) to
the point where it can use either system supplied noweb or noweb from
aXiom.  And document is also generated by configure.

-- Gaby




reply via email to

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