Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-11-16 07:28:32

Johan Nilsson <r.johan.nilsson <at>> writes:
> "Alexey Pakhunov" <alexeypa <at>> wrote in message
> news:dldcub$6tp$1 <at>
> > Deane Yang wrote:
> >> But I'm still a little baffled by why when I try to run bjam.exe without
> >> running vsvars32.bat first, bjam can't find the vcvars32.bat or
> >> vsvars32.bat script. Do I need to set something in my PATH variable or
> >> something like that?
> >
> > The attached patch fixed detection of VC++ Express 2005. Can you try it,
> > please? It should detect it as 'msvc-8.0express'.
> [snip]
> IMHO 'msvc-8.0express' is a bit verbose (I assume it also has impact on the
> generated libraries). How about 'msvc-8.0-e', or 'msvc-8.0e'?

msvc-8.0-e won't work in bjam because it interprets the 'e' as a sub-feature of
the toolset (e.g. msvc-7.1-intel). msvc-8.0e is not clear as to what the 'e'
stands for (energy? experience? ...)

> [The stuff below is just for discussion, I don't know enough details to have
> any firm opinions]
> There exists (at least) four different VC++ 8.0 editions; Expresss,
> Standard, Professsional and Team System. Each of these has some different
> properties (see for a
> brief overview).

VC8 Express (and VC7.1 Toolkit) place where they are installed to in a
different location to the Standard, Pro and Team System versions. Therefore,
they need to look in different places in te registry. However, I don't see why:

   using msvc : 8.0 ;

would not try the standard VC8 install first and if that fails, try the
express version (same for 7.1toolkit). This would simplify the list of
supported versions, however you might wan't both standard and express/toolkit
versions installed on the same machine and invoke each.

> For what reasons (and for which versions) would we need to differentiate the
> various editions? Isn't the compiler (CL.EXE) basically the same, optimizing
> compiler for all editions - or do we also need to know if the distribution
> contains a full Platform SDK, debug libraries, cross-compilers, 64-bit
> editions, etc ...

There is already logic to detect and configure for x86, x86-amd64 and x86-ia64
variants of VC8. These can be selected using the <architecture>,
<instruction-set> and <address-model> features.

- Reece

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at