Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Announcing the OMake build system version 0.9.1
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Christian Lindig <lindig@c...>
Subject: Re: [Caml-list] Announcing the OMake build system version 0.9.1

On Sep 5, 2004, at 3:38 PM, Marcin 'Qrczak' Kowalczyk wrote:

> It would be interesting to invent some alternative paradigm, but I've
> never seen one.

Here are the paradigms for build systems that I know:

	Make - uses rules to specify the dependency tree, walks the dependency 
tree, analyzes the file system, and builds files concurrently (hence, 
no planning in advance)

	Vesta - specifies the build procedure in a functional language and 
evaluates the procedure for building. No concept of updating like in 
Make - all builds are complete in concept; efficiency comes from 
caching intermediate results and hence the evaluator knows that it does 
not have to rebuild everything. The Vesta system observes dependencies 
by observing the tools that are run during the build process: which 
files are read and written. Very powerful but is more an environment 
than a tool.

	Jam - like Make, but has procedural abstraction: a program is 
evaluated to build up the dependency tree. Unlike Make, clean 
separation of phases: analyzes the file system, makes a plan, and 
executes it. Hence, no checking the file system while executing the 
plan. Similar tools: Cons, SCons.

You can find papers here:

http://www.research.compaq.com/SRC/vesta/pubs/pldi-00-04-20.pdf
http://www.dsmit.com/cons/
http://www.perforce.com/jam/jam.html
http://www.perforce.com/jam/jam.html

-- Christian

--
http://www.st.cs.uni-sb.de/~lindig/

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners