summaryrefslogtreecommitdiff
path: root/spec/spec/build-action.yml
blob: 07ed541926cb8451fd2aeb043af4b4afae5b7ae8 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
copyrights:
- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
links:
- role: spec-member
  uid: root
spec-description: null
spec-example: null
spec-info:
  dict:
    attributes:
      append-test-cppflags:
        description: |
          It shall be the name of a test program.  The action appends the
          action value to the ``CPPFLAGS`` of the test program.  The name shall
          correspond to the name of a ${build-test-program:/spec-name} item.
          Due to the processing order of items, there is no way to check if the
          name specified by the attribute value is valid.
        spec-type: str
      assert-aligned:
        description: |
          The action asserts that the action value is aligned according to the
          attribute value.
        spec-type: int
      assert-eq:
        description: |
          The action asserts that the action value is equal to the attribute
          value.
        spec-type: bool-or-int-or-str
      assert-ge:
        description: |
          The action asserts that the action value is greater than or equal to
          the attribute value.
        spec-type: int-or-str
      assert-gt:
        description: |
          The action asserts that the action value is greater than the
          attribute value.
        spec-type: int-or-str
      assert-int16:
        description: |
          The action asserts that the action value is a valid signed 16-bit
          integer.
        spec-type: none
      assert-int32:
        description: |
          The action asserts that the action value is a valid signed 32-bit
          integer.
        spec-type: none
      assert-int64:
        description: |
          The action asserts that the action value is a valid signed 64-bit
          integer.
        spec-type: none
      assert-int8:
        description: |
          The action asserts that the action value is a valid signed 8-bit
          integer.
        spec-type: none
      assert-le:
        description: |
          The action asserts that the action value is less than or equal to the
          attribute value.
        spec-type: int-or-str
      assert-lt:
        description: |
          The action asserts that the action value is less than the attribute
          value.
        spec-type: int-or-str
      assert-ne:
        description: |
          The action asserts that the action value is not equal to the
          attribute value.
        spec-type: bool-or-int-or-str
      assert-power-of-two:
        description: |
          The action asserts that the action value is a power of two.
        spec-type: none
      assert-uint16:
        description: |
          The action asserts that the action value is a valid unsigned 16-bit
          integer.
        spec-type: none
      assert-uint32:
        description: |
          The action asserts that the action value is a valid unsigned 32-bit
          integer.
        spec-type: none
      assert-uint64:
        description: |
          The action asserts that the action value is a valid unsigned 64-bit
          integer.
        spec-type: none
      assert-uint8:
        description: |
          The action asserts that the action value is a valid unsigned 8-bit
          integer.
        spec-type: none
      check-cc:
        description: null
        spec-type: build-action-check-cc
      check-cxx:
        description: null
        spec-type: build-action-check-cxx
      define:
        description: |
          The action adds a define to the configuration set.  If the attribute
          value is present, then it is used as the name of the define,
          otherwise the ``name`` of the item is used.  The value of the define
          is the action value.  If the action value is a string, then it is
          quoted.
        spec-type: optional-str
      define-condition:
        description: |
          The action adds a conditional define to the configuration set.  If
          the attribute value is present, then it is used as the name of the
          define, otherwise the ``name`` of the item is used.  The value of the
          define is the action value.
        spec-type: optional-str
      define-unquoted:
        description: |
          The action adds a define to the configuration set.  If the attribute
          value is present, then it is used as the name of the define,
          otherwise the ``name`` of the item is used.  The value of the define
          is the action value.  If the action value is a string, then it is not
          quoted.
        spec-type: optional-str
      env-append:
        description: |
          The action appends the action value to an environment of the
          configuration set.  If the attribute value is present, then it is
          used as the name of the environment variable, otherwise the ``name``
          of the item is used.
        spec-type: optional-str
      env-assign:
        description: |
          The action assigns the action value to an environment of the
          configuration set.  If the attribute value is present, then it is
          used as the name of the environment variable, otherwise the ``name``
          of the item is used.
        spec-type: optional-str
      env-enable:
        description: |
          If the action value is true, then a name is appended to the
          ``ENABLE`` environment variable of the configuration set.  If the
          attribute value is present, then it is used as the name, otherwise
          the ``name`` of the item is used.
        spec-type: optional-str
      find-program:
        description: |
          The action tries to find the program specified by the action value.
          Uses the ``$${PATH}`` to find the program.  Returns the result of the
          find operation, e.g. a path to the program.
        spec-type: none
      find-tool:
        description: |
          The action tries to find the tool specified by the action value.
          Uses the tool paths specified by the ``--rtems-tools`` command line
          option.  Returns the result of the find operation, e.g. a path to the
          program.
        spec-type: none
      format-and-define:
        description: |
          The action adds a define to the configuration set.  If the attribute
          value is present, then it is used as the name of the define,
          otherwise the ``name`` of the item is used.  The value of the define
          is the action value.  The value is formatted according to the
          ``format`` attribute value.
        spec-type: optional-str
      get-boolean:
        description: |
          The action gets the action value for subsequent actions from a
          configuration file variable named by the items ``name`` attribute.
          If no such variable exists in the configuration file, then the
          default value is used.  The value is converted to a boolean.
        spec-type: none
      get-env:
        description: |
          The action gets the action value for subsequent actions from the
          environment variable of the configuration set named by the attribute
          value.
        spec-type: str
      get-integer:
        description: |
          The action gets the action value for subsequent actions from a
          configuration file variable named by the items ``name`` attribute.
          If no such variable exists in the configuration file, then the
          default value is used.  The value is converted to an integer.
        spec-type: none
      get-string:
        description: |
          The action gets the action value for subsequent actions from a
          configuration file variable named by the items ``name`` attribute.
          If no such variable exists in the configuration file, then the
          default value is used.  The value is converted to a string.
        spec-type: none
      get-string-command-line:
        description: |
          The action gets the action value for subsequent actions from the
          value of a command line option named by the items ``name`` attribute.
          If no such command line option is present, then the attribute value
          is used.  The value is converted to a string.
        spec-type: str
      script:
        description: |
          The action executes the attribute value with the Python ``eval()``
          function in the context of the script action handler.
        spec-type: str
      set-test-state:
        description: null
        spec-type: build-action-set-test-state
      set-value:
        description: |
          The action sets the action value for subsequent actions to the
          attribute value.
        spec-type: build-option-value
      split:
        description: |
          The action splits the action value.
        spec-type: none
      substitute:
        description: |
          The action performs a ``$${VARIABLE}`` substitution on the action
          value.  Use ``$$$$`` for a plain ``$$`` character.
        spec-type: none
    description: |
      This set of attributes specifies a build option action.
    mandatory-attributes: exactly-one
spec-name: Build Option Action
spec-type: build-action
type: spec