11 messages in com.perforce.jamminginter directory dependencies (faq?)
FromSent OnAttachments
Chri...@ips.cs.tu-bs.de09 Dec 1998 00:24 
Phil...@autologue.com09 Dec 1998 10:50 
'Chr...@ips.cs.tu-bs.de09 Dec 1998 23:53 
Chri...@ips.cs.tu-bs.de10 Dec 1998 01:41 
Iain...@mcclatchie.com10 Dec 1998 02:00 
"Cowham, Robert Associate CowhamR@logica.com10 Dec 1998 02:03 
Iain...@mcclatchie.com10 Dec 1998 13:01 
Chri...@ips.cs.tu-bs.de11 Dec 1998 01:17 
Iain...@mcclatchie.com11 Dec 1998 12:57 
Chri...@ips.cs.tu-bs.de13 Dec 1998 07:19 
Laur...@perforce.com14 Dec 1998 12:59 
Subject:inter directory dependencies (faq?)
From:Chri...@ips.cs.tu-bs.de (Chri@ips.cs.tu-bs.de)
Date:12/10/1998 01:41:42 AM
List:com.perforce.jamming

I would like to see some discussion on this topic. The way to specify interdirectory dependencies depends on the way you handle grist. It comes down to policy issues -- I suspect different and incompatible policies may be useful in different circumstances.

I'm glad you see a need for discussion. There are a lot of mails in the archive concerning multiple directory projects and it seems that the right way is not that obvious. I have to admit that I currently try to write my own Jambase because I want to use Jam for Objective Caml (http://caml.inria.fr) projects. In my opinion it would be better to hardwire directory handling inside a tool like jam instead of using its scripting language. Since every file name is unique inside a filesystem all the grist stuff seems not the right way. But this is another point and does not help. I still haven't found such a tool.

I was thinking to grist every file that I build - just like you have done. The main drawback is that you need some funtions to create references to these file from an outside directory because flat filenames no longer work. This function must create the gristed version of the file that I want to reference. To simplify things I suggest to use a grist that reflects the location of the file from the $(TOP) of the source tree. This would permit to reference non local files in a way like this:

Requires localfile : sub1 sub2 sub3 f ;

This means that file localfile in the current directory depends on $(TOP)/sub1/sub2/sub3/f. By using always this non relative path to f I can create the grist easily and don't need to fiddle with relativ paths. This mechanism is rather general and could be integrated into a generic Jambase. However, these are just ideas and none of them are implemented.

--- Christian

--- Christian Lindig Technische Universitaet Braunschweig, Germany http://www.cs.tu-bs.de/softech/people/lindig mailto:lin@ips.cs.tu-bs.de