axiom-developer
[Top][All Lists]
Advanced

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

RE: [Axiom-developer] [build-improvements] Requests for discussion


From: Page, Bill
Subject: RE: [Axiom-developer] [build-improvements] Requests for discussion
Date: Tue, 1 Aug 2006 23:20:30 -0400

On Tuesday, August 01, 2006 10:12 PM Cliff Yapp wrote:
> ...
> I thought it would end up like this:
> 
> 1)  Have configure.ac and configure.ac.pamphlet both present 
> in the top level directory.  configure.ac.pamphlet is where
> editing is done, and when a commit is made (for this one file)
> a configure.ac file is also committed
> ...

I don't see why we need 'configure.ac'. Just 'configure' and
configure.ac.pamphlet should be enough. No? It is not so
different than the fact that we have both Makefile and
Makefile.pamphlet now in the current Axiom distribution. With
the new configure process this "bootstrap" just moves back
one step.

As I understand it configure.ac would only be necessary in
order to generate a new 'configure' file and this would
normally only be done by an ambitious developer *after* they
had successfully installed Axiom at least once.
 
> 2)  Extracting the documentation out of configure.ac.pamphlet 
> would require the use of the notangle command ...
>

Actually the 'noweave' command extracts the LaTeX file. 'notangle'
is required to extract configure.ac from configure.ac.pamphlet.
They are both parts of noweb which is either pre-installed or
optionally installed as one of the first steps in the axiom
build process.

The possibility of using some other literate programming tool
besides noweb is an interesting issue, but I think we should
agree that it is beyond the scope of the work.
 
> ... 
> I don't think we should fear a couple of non-pamphlet files 
> being present in the top level directory - indeed, it will
> simplify matters considerably from the user standpoint.

I agree. As a user I would like to see just the usual:

  ./configure
  make
  make test
  make install
  axiom

What happens inside I don't care (unless it fails).

If ./configure says:

  noweb is missing. Please install noweb first or specify
  the option --with-noweb

I think most users of open source who are willing to build
from source would be able to handle that.

I think Axiom developers can live with just a little more
complication than that in order to handle the literate
programming methodology. So they need to have noweb installed.
This would certainly be the case anyway if they had already
built Axiom successfully. In that case they can use notangle
to extract a modified configure.ac from an edited version of
configure.ac.pamphlet before running automake/autoconf to
generate the new 'configure' and Makefile.in for a revised
distribution.

To be nice to new developers we might want to provide

  make distribution

to automate this process.

> 
> I would suggest the minimal (and maybe maximal) set of:
> 
> README
> configure.ac
> buildaxiom.sh
> buildaxiom_windows.<whatever windows uses>

buildXXX.sh is not so common. I would prefer to see just the
following pre-extracted as read-only files in the root of the
distribution:

  README
  configure
  Makefile.in

with all others just .pamphlet files. The three files above
would also be contained as chunks in one of the .pamphlet
files - probably Makefile.pamphlet where all the other build
documentation is maintained. Because the Axiom build uses
recursive make on subdirectories, perhaps it would be convenient
if the Makefile.in files were present on each sub-directory
of the distribution. But as usual it is just the pamphlet
files that would be edited.

Regards,
Bill Page.




reply via email to

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