[Top][All Lists]

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

Re: ASDF and ./configure (was: Re: [Axiom-developer] Hyper doc search er

From: root
Subject: Re: ASDF and ./configure (was: Re: [Axiom-developer] Hyper doc search error)
Date: Mon, 20 Feb 2006 18:46:24 -0500

> Would you accept (or at least not be opposed to ;) a hand-written
> ./configure shell script? It would find the basic tools (awk, noweb,
> ...) and setup the main Makefile file, in order to launch all the CL
> machinery. 

The issue, as i understand it, is not that the configure script
doesn't work on the systems where it was tested. The issue is that
the configure script is not robust. Certain problems have to be

Given a particular system you need to output a symbol (e.g linux)
which will be used selector for the inital Makefile. 

   * this appears to be a huge case statement based on a lot of
     factors that are hard to decide. the "linux" symbol will build
     a system on FC3 if SELinux is not enabled but fails otherwise.

     thus configure needs to have a large number of tests to 
     decide on a unique symbol. for each unique symbol the 
     Makefile.pamphlet contains all the necessary knowledge (and
     associated explanations) for building axiom on that system

The initial Makefile extracts and configure the main Makefile that
is customized for the target system. so 

  configure --> "linux" (or "solaris", "FC4", etc)
  Makefile + "linux" + Makefile.pamphlet -> Makefile.linux

In addition there are some other issues that arise. The noweb tool
seems to want to use one of 'awk', 'gawk', or 'nawk'. Given that
noweb is vital to the early processing we need to find which of
the three is available on the current system and customize the
main Makefile to use it. This is done on the command line:

   make -f Makefile.linux AWK=nawk

Some systems use differen tool names (e.g. gtar) and those have to
be able to be overriden also. However, given that it is a lot of
effort to make sure axiom works on each new system all of this
knowledge is embedded in the Makefile.pamphlet and selected by
the system symbol ("solaris" ==> gtar).

Another issue has arisen. It appears that some of the shell
scripts aren't portable because they use #! paths to execute them.

Perhaps the configure program can help with the initial value
selections but it would take some careful thought. It's probably
better and more robust to rewrite the shell scripts not to use #!

> If you agree I'll take the job.

Ummm, that's reversing the approval path methinks. If your solution
works and is not disruptive then it's likely to get accepted. But
a "rewrite the world" solution is likely to get a lot of pushback.
Propose something and we can all comment on it. 

I just had a long phone discussion about this whole issue debating
the merits of the autoconf vs asdf vs the current situation. After
reviewing the pros and cons it seems that the end result is that
axiom is a large and complex enough system that (a) none of the
standard tools work well and (b) it can support its own non-standard
build process. I won't go into the details of 3 hours of talking but
for every example there appears to be a counter-example and for every
rule there is an exception.


reply via email to

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