19 messages in com.perforce.jammingBuilding using a baseline?| From | Sent On | Attachments |
|---|---|---|
| chri...@natinst.com chris.bartz@natinst.com | 06 Nov 1997 14:06 | |
| Laur...@perforce.com | 06 Nov 1997 15:01 | |
| Ron ...@mindspring.com | 07 Nov 1997 07:51 | |
| Iain...@ix.netcom.com | 07 Nov 1997 11:40 | |
| chri...@natinst.com chris.bartz@natinst.com | 10 Nov 1997 09:49 | |
| Iain...@ix.netcom.com | 10 Nov 1997 13:03 | |
| Iain...@ix.netcom.com | 10 Nov 1997 16:07 | |
| Alex...@allisa.com | 10 Nov 1997 16:16 | |
| Alex...@allisa.com | 11 Nov 1997 11:19 | |
| Hunt...@unity.ncsu.edu | 11 Nov 1997 16:31 | |
| Iain...@ix.netcom.com | 12 Nov 1997 10:01 | |
| Alex...@allisa.com | 12 Nov 1997 16:46 | |
| Dian...@whistle.com | 12 Nov 1997 17:34 | |
| Alex...@allisa.com | 12 Nov 1997 21:26 | |
| Ron ...@mindspring.com | 13 Nov 1997 07:42 | |
| Dian...@whistle.com | 13 Nov 1997 22:37 | |
| chri...@natinst.com chris.bartz@natinst.com | 14 Nov 1997 11:29 | |
| Chri...@perforce.com | 17 Nov 1997 10:42 | |
| chri...@natinst.com chris.bartz@natinst.com | 17 Nov 1997 15:38 |
| Subject: | Building using a baseline?![]() |
|---|---|
| From: | Iain...@ix.netcom.com (Iain...@ix.netcom.com) |
| Date: | 11/10/1997 01:03:47 PM |
| List: | com.perforce.jamming |
Chris> It seems to me that on each execution of jam, you can either Chris> build the target locally in the LOCATE directory, *or* you can Chris> have it search for the target in the SEARCH directories. So, if Chris> I update a source file I have run jam at least twice in two Chris> different places; once to compile it and rebuild the library it Chris> belongs to, and once to remake the executable that uses that Chris> library.
You've got a target which should be bound to
1) the file in the local directory if the user has one. 2) the file in the central directory if not.
It seems that you need to set LOCATE on this target with an if statement. At first glance, you could do this in a wrapper rule around each of your build rules, but I think the best thing to do is to whack the SubDir and SubInclude rules themselves.
The new MySubInclude rule should look for the named subdirectory before it's included. If it's not there, try an equivalent path from an environment variable CENTRAL_TOP rather than from TOP, and include that instead. When it does this, it probably needs to set up some variables that MySubDir can read to realize that it's in the central repository, and not in the user's own subdirectory.
The new MySubDir rule should set up SEARCH_TARGET, LOCATE_TARGET and SEARCH_SOURCE to be subdirectories of either TOP or CENTRAL_TOP, depending on whether the Jamfile it was run from is in a user's own subdirectory or in the central build area.
I'll be doing this myself sometime, but it's very low priority right now. If you get it to work, can you tell me what tricks you had to pull to get it Just Right?
- -Iain




