-
Notifications
You must be signed in to change notification settings - Fork 49
/
cxxstd-feature.jam
35 lines (30 loc) · 1.43 KB
/
cxxstd-feature.jam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copyright 2017 Rene Rivera
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
import feature ;
# The `cxxstd` feature specifies the version of the C++ Standard Language to
# build with. All the official versions of the standard since "98" are
# included: `98`, `03`, `11`, `14`, and `17`. It is also possible to
# specify using the experimental, work in progress, `latest` version. Some
# compilers specified intermediate versions for the experimental versions
# leading up to the released standard version. Those are included following
# the GNU nomenclature as `0x`, `1y`, `1z`, and `2a`. And depending on the
# compiler `latest` would map to one of those.
#
# NOTE: This is an `optional` feature. Hence when not specified the compiler
# default behaviour is used.
#
# NOTE: Please consult the toolset specific documentation for which `cxxstd`
# is supported.
feature.feature cxxstd
: 98 03 0x 11 1y 14 1z 17 2a latest
: optional composite propagated ;
# The cxxstd:dialet subfeature indicates if a non-standard dialect should be
# used. These usually have either/or extensions or platform specific
# functionality. Not specifying the dialect will default to 'iso'. Which will
# attempt to use ISO C++ Standard conformance to the best of the compiler's
# ability.
feature.subfeature cxxstd : dialect
: iso gnu ms
: composite propagated ;