summaryrefslogtreecommitdiffstats
path: root/spec-spec/spec/enabled-by.yml
blob: c88d74e4cbe8f2df60ba26fab696adf00ff57971 (plain) (blame)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
enabled-by: true
links:
- role: spec-member
  uid: root
spec-description: |
  A value of this type shall be an expression which defines under which
  conditions the specification item or parts of it are enabled.  The expression
  is evaluated with the use of an *enabled set*.  This is a set of strings
  which indicate enabled features.
spec-example: |
  enabled-by:
    and:
    - RTEMS_NETWORKING
    - not: RTEMS_SMP
spec-info:
  bool:
    description: |
      This expression evaluates directly to the boolean value.
  dict:
    attributes:
      and:
        description: |
          The *and* operator evaluates to the *logical and* of the evaluation
          results of the expressions in the list.
        spec-type: enabled-by-list
      not:
        description: |
          The *not* operator evaluates to the *logical not* of the evaluation
          results of the expression.
        spec-type: enabled-by
      or:
        description: |
          The *or* operator evaluates to the *logical or* of the evaluation
          results of the expressions in the list.
        spec-type: enabled-by-list
    description: |
      Each attribute defines an operator.
    mandatory-attributes: exactly-one
  list:
    description: |
      This list of expressions evaluates to the *logical or* of the evaluation
      results of the expressions in the list.
    spec-type: enabled-by
  str:
    description: |
      If the value is in the *enabled set*, this expression evaluates to true,
      otherwise to false.
spec-name: Enabled-By Expression
spec-type: enabled-by
type: spec