Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2005-06-14 10:16:09


> Excuse my being a little insistent on this,but I think the problem
> should be addressed one way or another, as it's causing tons
> of regressions.
> I've prepared a patch for tools/build/v1/boost-base.jam (attached).
> Is it OK to commit?

There is a simpler (temporary) fix, which is to add
<define>BOOST_ALL_NO_LIB=1 to those new toolsets.

But in principle I agree with your fix (especially if it works!), Rene
Rivera is responsible for that code however, and the best person to check
with.

John.

> Original message:
>
> 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
>

--------------------------------------------------------------------------------

> 2672a2673,2681
>>
>> # boost/config/auto_link.hpp expects toolset tags that do not
>> always
>> # match the above algorithm for MSVC 6.x and 7.0.
>> #
>> switch $(toolset-tag)
>> {
>> case vc6* : toolset-tag = vc 6 ;
>> case vc70 : toolset-tag = vc 7 ;
>> }
>

--------------------------------------------------------------------------------

> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk