|
Boost : |
From: Joaquín Mª López Muñoz (joaquin_at_[hidden])
Date: 2005-06-13 09:10:57
autolink assumes the following toolset tags for libraries generated
under
the MSVC familiy of compilers:
6.0, 6.5 --> "v6"
7.0 --> "vc7"
7.1 --> "vc71"
8.0 --> "vc80"
Yet tools/build/v1/boost-base.jam does the following:
local include-minor-version = YES ;
switch $(toolset)
{
case borland* : toolset-tag += bcb ;
case como* : toolset-tag += como ;
case cwpro8* : toolset-tag += cw 8 ;
case cwpro9* : toolset-tag += cw 9 ;
case cw-* : toolset-tag += cw ; include-minor-version = ;
case darwin* : toolset-tag += ;
case edg* : toolset-tag += edg ;
case gcc* : toolset-tag += gcc ;
case intel-linux* : toolset-tag += il ;
case intel-win32* : toolset-tag += iw ;
case kcc* : toolset-tag += kcc ;
case kylix* : toolset-tag += bck ;
case metrowerks* : toolset-tag += cw ;
case mingw* : toolset-tag += mgw ;
case mipspro* : toolset-tag += mp ;
case msvc* : toolset-tag += vc 6 ;
case sunpro* : toolset-tag += sw ;
case tru64cxx* : toolset-tag += tru ;
case vacpp* : toolset-tag += xlc ;
case vc[678][_]* :
{
toolset-tag += vc ;
toolset-tag += [ MATCH "vc([678])[_]([0123456789]*)" :
$(toolset) ] ;
}
case vc[678]* :
{
toolset-tag += vc ;
toolset-tag += [ MATCH "vc([678])" : $(toolset) ] ;
}
case * :
toolset-tag += [ MATCH "^([^-]*)" : $(toolset) ] ;
}
if $(include-minor-version)
{
toolset-tag += [ MATCH
"[-]([0123456789]+)[_.]([0123456789]*)" : $(toolset) ] ;
}
else
{
toolset-tag += [ MATCH "[-]([0123456789]+)[_.][0123456789]*"
: $(toolset) ] ;
}
which does not match autolink expectations for the following toolsets
adhering to the
new naming conventions:
vc-6_5 --> vc65 (expected vc6)
vc-7_0 --> vc70 (expected v7)
I guess it suffices to apply the following postrule in boost-base.jam
switch $(toolset-tag)
{
case vc6* : toolset-tag = vc6 ;
case vc70 : toolset-tag = vc7 ;
}
but someone more acquainted with bjam than me might come up with a nicer
reformulation.
Currently, this is breaking dozens of tests in the metacomm engine,
which
recently switched to vc-6_5-stlport and vc-7_0 toolsets.
Do I commit this? Someone can tackle the issue more elegantly? Thank
you,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk