[jamming] Jam2.5 and precompiled headers

Craig McPheeters cmcpheeters at aw.sgi.com
Tue Feb 11 10:29:43 PST 2003

> Subject: Re: [jamming] Jam2.5 and precompiled headers
> From: Jacob Gorm Hansen <jg at ioi.dk>
> Cc: matt at lickey.com, chrisant at windows.microsoft.com,
>         jam mailling list <jamming at perforce.com>
> Date: 11 Feb 2003 11:46:32 +0100
> On Mon, 2003-02-03 at 19:36, Craig McPheeters wrote:
> > I solved this problem in my version of jam by introducing a semaphore node.
> > You assign a semaphore to a node by setting its JAM_SEMAPHORE variable.
> > Something like:
> >    JAM_SEMAPHORE on $(target) = $(dll-semaphore) ;
> > 
> > The same semaphore node is assigned to all of the files which would share the
> > same .pdb file.  Jam then ensures that only one action is launched at a time
> > for each semaphore.  I can then use multiple jobs, and as long as there is
> > work for the build (if you're building multiple .dll's or libraries) then
> > multiple jobs will be launched.
> This sounds good. Do you have an example Jamfile/Jambase for using MSVC
> precompiled headers and semaphores?

I do, but unfortunately its tied into our custom/internal Jambase which
I'm unable to publish.

First solve the problem for precompiled headers with the /Z7 debug info.
During solving that problem, you will likely need to create the precompiled
header and then use the .pch in the other files.  When you associate the
.pch file and the flags to use it with the other .obj files, thats a good
time to also associate the semaphore.  The semaphore is a small piece of
the problem.


> best regards,
> Jacob

Business phone:  VNET: 8670   or   (416) 874-8670   or   (206) 789-1374

More information about the jamming mailing list