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

Sometimes we do go to far, witness M$. :)

Just a joke, please don't start a war over this little comment.

>> 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.

Yes, you're right.  You don't need to make this assumption but you do 
need to specify what goes in the library and what does not.

> 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. 

You didn't specify the dependancies in the "build" system, but you did 
in the files being compiled to some extent.  Are you considering a 
language aware or language neutral solution?

> 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.

Yes this happens in Ada, but it is part of the Ada code (Ada elaboration 
is more complex).  Putting Ada aside, I see no reason to do this in most 
cases for Ocaml though I am no expert.

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

**That is what I want to happen**

with the slight change that the program builds the actual program, 
library, whatever.  For the cases the tool is not designed for we can 
rely on ocamlc/ocamlopt and the tools' semantics to cover it ourselves 
if need be.  Ideally developers would not have to deal with that case 
but I'm not sure you can guarantee that when you're interfacing to other 
languages, etc.


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