When creating Boost binary libraries with bjam you can specify which compiler to use without specifying a specific version of the compiler using specific values โโfor the --toolset= parameter. For instance:
bjam --with-serialization --toolset=msvc
the toolset msvc tells bjam to search your system for some version of Microsoft Visual C ++, and then use it to create several variations of the Boost.Serialization library. The resulting libraries will contain a tag indicating which toolbox was actually used. For example, the above command creates files such as:
libboost_serialization-vc100-mt-s-1_44.lib libboost_serialization-vc100-mt-sgd-1_44.lib ...
where the vc100 line in the file name is a toolet tag that indicates that a version of the Microsoft Visual C ++ 2010 compiler has been found and is being used to build libraries. [More information on Boost library file naming conventions can be found here. ]
You can also specify a specific version of the compiler using some other values โโfor the --toolset= parameter. For instance:
bjam --with-serialization --toolset=msvc-9.0
tells bjam that even if I can have multiple compilers on my system, I want it to use Microsoft Visual C ++ 2008 specifically. As a result, the libraries contained a string of the vc90 tag to indicate that Microsoft Visual C ++ 2008 was used to create them.
The Boost documentation seems a bit outdated regarding the newer Mac compilers (e.g. how to distinguish between GCC, LLVM-GCC and LLVM?)
My question is, what are some of the other values โโof bjam --toolset= and their respective tags for specific compiler versions in Xcode 3 and Xcode 4 on Mac (not common compiler name values โโlike darwin )? Are these documents documented anywhere? Even if Boost libraries with some versions are not yet supported by Boost, are the toolset and tag values โโnot yet specified?
Please help replace ??? in this table:
TOOL AND VERSION --toolset= TAG
(1) Apple releases its own versions of the GCC and LLVM compilers to add Apple extensions and behavior.
(2) Available only in Xcode 3.
(3) Available only in Xcode 4.