22 messages in com.perforce.jammingWho is using Jam?| From | Sent On | Attachments |
|---|---|---|
| Matt...@neweast.ca | 06 Feb 1997 06:35 | |
| Step...@PC-Plus.DE | 06 Feb 1997 08:07 | |
| Step...@PC-Plus.DE | 06 Feb 1997 08:22 | |
| Matt...@neweast.ca | 06 Feb 1997 09:08 | |
| Dian...@whistle.com | 06 Feb 1997 11:20 | |
| Ron ...@diba.com | 06 Feb 1997 11:47 | |
| Shiv...@amulet.mti.sgi.com | 06 Feb 1997 11:54 | |
| Tony...@illustra.com | 06 Feb 1997 12:15 | |
| Jym ...@sybase.com | 06 Feb 1997 12:48 | |
| Laur...@sybase.com | 06 Feb 1997 15:53 | |
| Blumer | 06 Feb 1997 16:13 | |
| Ambe...@praja.com | 06 Feb 1997 17:10 | |
| Step...@PC-Plus.DE | 07 Feb 1997 01:11 | |
| Tim ...@ftlsol.com | 07 Feb 1997 17:56 | |
| Tim ...@ftlsol.com | 07 Feb 1997 18:11 | |
| Chri...@perforce.com | 09 Feb 1997 16:22 | |
| JimJ...@caldera.silverplatter.com | 10 Feb 1997 05:05 | |
| Step...@PC-Plus.DE | 10 Feb 1997 05:18 | |
| Laur...@sybase.com | 10 Feb 1997 10:00 | |
| Jame...@wgold.demon.co.uk | 11 Feb 1997 02:37 | |
| Tim ...@ftlsol.com | 11 Feb 1997 16:34 | |
| Jame...@wgold.demon.co.uk | 12 Feb 1997 02:29 |
| Subject: | Who is using Jam?![]() |
|---|---|
| From: | Jame...@wgold.demon.co.uk (Jame...@wgold.demon.co.uk) |
| Date: | 02/11/1997 02:37:30 AM |
| List: | com.perforce.jamming |
Laura Wingerd wrote:
However, I tried this on a network (using remote machines), and it kinda worked, until it got to the C++ stuff with templates.
This is a limitation of C++, and hamstrings any make tool that provides concurrent processes. I read in a Clearcase manual somewhere that Clearmake's C++ rules apparently force a separate template output file for each source file to get around the locking. I don't know if this works, but it's a clever idea and would be easy to set up with Jam.
Laura Wingerd Sybase (510)922-5232 wing...@sybase.com
I'm sorry, but that is just not true. Limitation of some C++ implementations, maybe. Limitation of C++? No.
It may be true for compilers that use a template repository and screw up on concurrent access (Sun 4.01 certainly does this, I haven't tried 4.1).
If you avoid using a repository solution (which you have to if you want to stay sane and support a lot of different compilers) then there's no problem.
I know you can get code bloat unless you have a smart linker. Such is life.
(Its not just template repository files that are at risk. You might conceivably have trouble with program databases containing debug info etc in VC++, for example)
James
From lu...@vnp.com Tue, 11 Feb 97 09:39:50 -0600 Date: Tue, 11 Feb 97 09:39:50 -0600 From: Luke Blanshard lu...@vnp.com Subject: conditional includes
It seems to me that the best approach for handling include files is to do what gcc does, namely spit out the include dependencies as a by-product of compilation. To do this properly, you must keep separate dependency lists for each different compilation environment, because the dependencies may differ based on #ifdefs.
Has anyone successfully incorporated gcc's .d files into Jam? A nice byproduct of this would be a big speed-up---no more parsing of files on the fly.
Luke Blanshard VNP Software, Inc.
Begin forwarded message:
Date: Tue, 11 Feb 1997 01:58:52 -0500 From: Tim Writer <Tim....@ftlsol.com> To: JAMMING Distribution List <jamm...@perforce.com> Subject: conditional includes In-Reply-To: <3.0....@ocean.diba.com> Reply-To: JAMMING Distribution List <jamm...@perforce.com> X-Sequence: 144
Ron Shalhoup writes:
According to the UNIX Application Development Symposium paper on Jam (Seiwald, Mar 1994),
"The combination of $(HDRSCAN) and $(HDRRULE), when set per-target, enables Jam to handle just about any include-file syntax or semantics. Unfortunately, this mechanism doesn't understand conditional includes (#include within #ifdef), and can produce bogus dependencies that must be crudely pasted over with the application of the built-in NOCARE rule."
We are thinking of changing our build strategy to use Jam but are concerned about problems that may occur with header dependencies and conditional includes. I noticed the paper from which this statement was extracted was written in 1994. Has this been resolved since that time? If, not has anyone had problems with this or know of a workaround?
I don't know if this has been worked on but I haven't found it a problem. Actually, I think Jam's behaviour is better than makedepend and similar tools. In the past I've had terrible problems with makedepend missing dependencies precisely because it does understand conditional includes. I'm not saying that makedepend is wrong, just that it's easy to forget to run it or for the options to to get out of sync.
Now with Jam, you might get some bogus dependencies. But I'll take extra dependencies over missing dependencies any day!
Tim
--- Tim Writer Tim....@ftlsol.com FTL Solutions Inc. Toronto, Ontario, CANADA




