axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Build machinery -- an overview


From: Gabriel Dos Reis
Subject: [Axiom-developer] Build machinery -- an overview
Date: Sun, 1 Jul 2007 03:13:13 -0500 (CDT)

Hi,

This is a general overview of the build system.  This message contains
no code -- I'm discussing general view, ideas, ideals.
 
  If you don't need a simple working, easily build-able, easily
install-able Axiom for yesterday, then delete this message now.

* Better integration to existing environments

  The build system in trunk isolates itself from existing environments.
This is not good for porting Axiom to other platforms yesterday or today.
We should not ignore Make.  It is not the best possible build tool
one can imagine.  But it is the best almost universally available
build tool we have today.  We must make a good use of Make, now.  This
requires that, for example, tools we built should return meaningful
exit status.

* Modularize, generalize, abstract -- don't over abstract

  The current build system uses long list of special cases, and 
duplication of logic.  That approach cannot scale.  Following
Doug McIlroy [1], we should aim for portability by:

    + modularization
    + generalization

Autoconf has well thought out, widely tested, proven technology to
subsume many of the special casings and guesses found in current
build system.  To master the recalcitrant residue, build-improvements
uses "specializations (freezing certain parameter values)".  This
is accomplished by the Ershovian specializer `configure'.  Concretely,
build-improvements instantiate the actual Makefiles  at configure-time.

* Automate as much as possible

  We should take advantage of tools to systematically carry out
repetitive tasks, ensuring integrity.  Build-improvements improved
Boot to help systematize checking of Boot code dependencies, and generating
type information for Lisp systems that care about proclamation.

[1] http://www.haskell.org/pipermail/hugs-users/2006-January/000621.html

-- Gaby




reply via email to

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