Boost logo

Boost-Build :

From: Andrey Melnikov (melnikov_at_[hidden])
Date: 2005-07-09 10:51:38


Hi

I found multiple bugs and missing functionality in bbv2 msvc toolset.
What is the best way to contribute the fixes?

else if [ MATCH "(\\.NET 2003\\VC7)" : $(command) ] ||
[ MATCH "(Microsoft Visual C\\+\\+ Toolkit 2003)" :
$(command) ]
{
version = 7.1 ;
}

It seems that this statement is wrong:

MATCH "(\\.NET 2003\\VC7)"

What does \\. mean? I think it's because this expression is unescaped
twice - first time during bjam string literal proccessing, and second
time during regex processing.

If slashes are indeed unescaped twice, then "\\VC7" is wrong and the
statement should be

MATCH "(\\.NET 2003\\\\VC7)"

Also, because it's possible to use Unix-style paths with forward slashes
on Windows, I suggest to have something like

[\\\\/]

as a path separator everywhere where Windows paths are analyzed.

And if / is a regex metacharacter in BJam, then the crazy [\\\\\/]
combination must be used, or [\/\\\\] which is slightly more readable.

Andrey

 


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