English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

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: 2004-09-05 (15:53)
From: skaller <skaller@u...>
Subject: Re: [Caml-list] Announcing the OMake build system version 0.9.1
On Mon, 2004-09-06 at 01:07, chris.danx wrote:
> David Brown wrote:

> >   - They tend to be very tied to their specific language.  When source
> >     files in this language are themselves generated, this either has to be
> >     encoded in the make tool (yuck), or the make tool wrapped in a
> >     makefile, which kind of defeats the purpose.
> I don't understand what you mean by this, but surely having a tool for 
> the most common purposes is better than no tool at all.  

That may be so, but can we do better? I mean, programmers are
always trying to automate things better, that's what our job is.

>  Gnatmake builds the 
> library but the library needs to exist before you can build the rest of 
> the program so you need someway to tell it to biuld the lib first. 

No you don't! You're making an assumption about build processes
that specifying dependencies is fundamental.

But that isn't the case. Here is a perfectly viable build script:

	build program
	build library

You think that will work? It sure does! Here is the driver:

	limit = 10
	run build
	while (--limit && new_outputs != old_outputs)
		run build
This isn't efficient but it works *without* specifying
dependencies or the correct build order. 

If you want it to be faster -- specify
the component builds in the right order :)

Point being -- getting the right order is an optimisation.

> Ada has the elaboration problem and it is up to the programmer to solve. 
> :)  The programmer needs to know the elaboration order they want in 
> order to get the program to work.  If there are elaboration issues the 
> programmer must solve them themselves unless the tool can sort them out 
> for them.  I see no problem with this.

The problem is that the current technique for solving the ordering
problem is to compile and link libraries in a particular
order -- in other words, hand write the build script instead
of generating it.

However if the source code contained enough information,
the build scripts could be generated automatically.

John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net

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