
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
participants (1)
-
Joaquín Mª López Muñoz