Boost logo

Boost-Build :

From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2005-08-05 02:51:06


Andrey Melnikov wrote:

> 1) The diff isn't against the latest CVS. I see "iff" which is already
> fixed in CVS because Vladimir has already integrated my patch there.

TDB

> 2) You didn't replace psdk with mspsdk everywhere
> 3) I dislike toolset-mspsdk: psdk, studio. For example Borland C++
> Builder isn't a "studio". I'd like to have "builtin, external" as it's
> more universal and not bound to VS. Also look in all toolsets (even in
> v1) and see how switching between different STL versions is implemented.
> I think we should implement PSDK the same way.

See below.

> 4) You still have unconditionally added switches like /GS. I'd like to
> see them as features.

We have unconditional "/Zc:forScope". It is much more dangerous than
"/GS". Sources written for VC6 will not be compilable. Sure those
sources don't conform to the C++ standard but it was wide spread
practice. IMO we should leave /GS as it is and I have several reasons:

1. There is no scenario when something will broken because of /GS;
2. /GS is turned on by default in 7.1 and above;
3. /GS adds valuable buffer overrun detection stuff.
4. There is "bufferoverflowu.lib" that unconditionally linked when you
do amd64 build.

What do you think?

Other unconditional flags: "/wd4675" and "/Zm800" - those ones came from
the current msvc.jam.

> 5) You still add features to MSVC toolset, and not globally. I think it
> isn't important for now though.

I looked into stlport.jam. It seems you are right. It is a better way to
implement <mspsdk> feature. It is also a much tricker way to do it. :)
I'll try to implement it and see how it works. BTW it is possible to
split the patch into two smaller pieces if it will work properly.

Just to summarize:

You want to have two global features: <mspsdk>builtin/external and
<cpu-arch>i386/amd64/ia64 that will work for different toolsets. Is it
right?

BTW would it be better to call it <msplatformsdk> instead of <mspsdk>?
It is longer but easier to understand.

I see a couple of side effects:
- Global <mspsdk> will require patching each of each toolset that will
support PSDK based build. We will be able to discuss this as soon as I
implement a prototype.

- Global <cpu-arch> will affect initialization/autodetection code for
sure. It is possible that simple "using msvc ;" will register 3
different configuration: each for one <cpu-arch>. Again we will discuss
it as soon as we have a prototype.

Best regards/Venlig hilsen
Alexey Pakhunov.

 


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