|
Boost : |
From: pbristow_at_[hidden]
Date: 2020-02-11 09:56:03
https://boostorg.github.io/build/manual/develop/index.html#bbv2.overview.builtin
s.features
says
5.3. Builtin features
cxxstd Allowed values: 98, 03, 0x, 11, 1y, 14, 1z, 17, 2a, latest.
cxxstd-dialect Allowed values: iso, gnu, ms.
So these work as expected
toolset=gcc cxxstd=2a cxxstd-dialect=gnu is OK
toolset=gcc-9.2.0 cxxstd=2a cxxstd-dialect=gnu is OK too
But if I do NOT specify the cxxstd version - just
toolset=gcc cxxstd-dialect=gnu
for example:
boost\libs\multiprecision\example>b2 float128_snips toolset=gcc-8.1.0
cxxstd-dialect=gnu address-model=64 release >
.mp_float128_snips_gcc810_14_gnu.log
Iboost/tools/build/src/build\feature.jam:1020: in feature.compress-subproperties
from module feature
error: assertion failure: [ set.equal "<cxxstd-dialect>gnu"
"<toolset-gcc:version>8.1.0" : "<toolset-gcc:version>8.1.0" ]
error: Expected: [ "true" ]
error: Got: [ ]
which had be puzzled for a while.
Probably the even more common case of only having one compiler, say gcc,
installed, and so not specifying toolset at all, confusingly behaves the same
way?
This is a perfectly reasonable behaviour, but this requirement might helpfully
be documented.
Or this more subtle than I understand?
Thanks
Paul
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk