Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2002-08-01 05:40:41


(brining this to the list)

Hi Markus,

Markus Schöpflin wrote

>sorry for the long delay, I have been on holiday...
>
Hope you had a good time :-)

>>Markus Schöpflin wrote (long ago):
>>
>>
>>>Ok, here we go...
>>>
>>>Use case for various compiler tools from microsoft.
>>>[snip]
>>>
>>>
>>Ok, now I'm looking at your diagram, which is now part of
>>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/tools/build/new/m2-transformations.txt?rev=HEAD&content-type=text/vnd.viewcvs-markup
>>to see what problems it presents for us.
>>
>>I've some initial questions, and would appreciate if you could clarify them
>>
>>1. Is *.bsc file created for each executable file, or for the whole project?
>>
>>
>Both, but let me explain futher. :-)
>
>It's generated for the project. But in the MSVC dev studio a single project
>can only build a single lib, dll or exe. You can combine different projects
>into a single workspace but you still get one bsc file for each project.
>
>

So if we generate one *bsc file for each exe/lib target this will be
perfectly OK?

>2. Is creation of precompiled headers an explicit operation? I.e. would it be
>reasonable to require something like:
>
> precompiled_headers my_project_pch : stdafx.cpp ;
>
>
>
>Yes. The compiler needs a special command line option for generating it
>and another for using it.
>

Good.

>3. How files compiled with and without precompiled headers are separated? Can
>we assume that sources for each main target all either use PCH or don't use
>them. That would allow to write
>
> lib a : a.cpp ;
> lib b : b.cpp my_project_pch ;
>
>Or is finer granularity required?
>
>
>
>Yes, I think so.
>
>MSVC dev studio allows you to to specify three options (off, auto, manual)
>for the PCH on a project level but each setting can be overwritten on a
>per file basis and this is occasionally needed.
>
>Jam should support the first and the last option. The auto option
>is completely useless IMHO
>
Oh... I already thought we'll have no problem with your use case, but
there are problems :-(
Suppose we can specify pch file in sources for every exe. In that case
it will be used by default
for each compiled file. It would be possible to turn PCH for a specific
file using the syntax we use
for source properties, i.e.

exe a : a.cpp b.cpp/<pch>off my_project_pch ;

Here, a.cpp will be compiled with pch, and b.cpp without. Would such
arrangement be OK?
(I actually don't know yet how that <pch>off will really be implemented,
but seems the right way
from UI point of view)

- Volodya

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk