xref: /openbmc/phosphor-host-ipmid/meson.options (revision 11c569208ed4a584aecc9330635f7dccda03cb0e)
1option('tests', type: 'feature', description: 'Build tests')
2option(
3    'boot-flag-safe-mode-support',
4    type: 'feature',
5    description: 'Add option to enable/disable safe mode in boot flags',
6)
7option(
8    'i2c-whitelist-check',
9    type: 'feature',
10    description: 'Add option to enable/disable i2c master write read command white list checking',
11)
12
13# SoftPowerOff
14option('softoff', type: 'feature', description: 'Builds soft power off')
15option(
16    'softoff-busname',
17    type: 'string',
18    value: 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff',
19    description: 'The Dbus busname to own for SoftPowerOff',
20)
21option(
22    'softoff-objpath',
23    type: 'string',
24    value: '/xyz/openbmc_project/ipmi/internal/soft_power_off',
25    description: 'The SoftPowerOff Dbus root',
26)
27option(
28    'ipmi-sms-atn-ack-timeout-secs',
29    type: 'integer',
30    value: 3,
31    description: 'Timeout for host to ack and query SMS_ATN from BMC',
32)
33option(
34    'ipmi-host-shutdown-complete-timeout-secs',
35    type: 'integer',
36    value: 2700,
37    description: 'Wait time for host to shutdown',
38)
39# Indicates an in-band power off or reboot request from the host
40# This file is used to ensure the soft off service does not run for host
41# initiated shutdown or reboot requests
42option(
43    'host-inband-request-dir',
44    type: 'string',
45    value: '/run/openbmc/',
46    description: 'Directory to store host initiated shutdown file',
47)
48option(
49    'host-inband-request-file',
50    type: 'string',
51    value: 'host@%u-request',
52    description: 'File to create if host has initiated shutdown or reboot',
53)
54
55# Config Variables
56option(
57    'board-sensor',
58    type: 'string',
59    value: '/xyz/openbmc_project/inventory/system/chassis/motherboard',
60    description: 'The inventory path to the motherboard fault sensor',
61)
62option(
63    'system-sensor',
64    type: 'string',
65    value: '/xyz/openbmc_project/inventory/system',
66    description: 'The inventory path to the system event sensor',
67)
68
69# Control Host Interfaces
70option(
71    'control-host-busname',
72    type: 'string',
73    value: 'xyz.openbmc_project.Control.Host',
74    description: 'The Control Host Dbus busname to own',
75)
76option(
77    'control-host-obj-mgr',
78    type: 'string',
79    value: '/xyz/openbmc_project/control',
80    description: 'The Control Host D-Bus Object Manager',
81)
82option(
83    'host-name',
84    type: 'string',
85    value: 'host',
86    description: 'The Control Host D-Bus Object Manager',
87)
88
89# Power reading sensor configuration file
90option(
91    'power-reading-sensor',
92    type: 'string',
93    value: '/usr/share/ipmi-providers/power_reading.json',
94    description: 'Power reading sensor configuration file',
95)
96option(
97    'host-ipmi-lib-path',
98    type: 'string',
99    value: '/usr/lib/ipmid-providers/',
100    description: 'The file path to search for libraries',
101)
102
103# When a sensor read fails, hwmon will update the OperationalState interface's Functional property.
104# This will mark the sensor as not functional and we will skip reading from that sensor.
105option(
106    'update-functional-on-fail',
107    type: 'feature',
108    value: 'disabled',
109    description: 'Check functional property to skip reading from faulty sensors',
110)
111
112# Features
113
114# When libuserlayer is disabled, libuserlayer won't be included in the build.
115option(
116    'libuserlayer',
117    type: 'feature',
118    description: 'Option to exclue exclude libuserlayer',
119)
120
121# When transport-oem is enabled, the transporthandler_oem.cpp contents
122# are compiled and added to the project. The transporthandler_oem.cpp file is
123# copied from your own customization layer in the
124# phosphor-ipmi-host_%.bbappend file. It is not necessary to create this file
125# unless OEM Parameter extensions are required.
126option(
127    'transport-oem',
128    type: 'feature',
129    value: 'disabled',
130    description: 'Enable transporthandler_oem contents',
131)
132
133# IPMI whitelist mechanism is not needed by everyone; offer a way to disable it
134option(
135    'ipmi-whitelist',
136    type: 'feature',
137    description: 'Enable/disable IPMI whitelist filtering',
138)
139option(
140    'whitelist-conf',
141    type: 'string',
142    value: 'host-ipmid-whitelist.conf',
143    description: 'Paths to IPMI whitelisted commands conf files',
144)
145
146# Entity Manager Decorators
147option(
148    'entity-manager-decorators',
149    type: 'feature',
150    value: 'enabled',
151    description: 'The Entity Manager Decorators flag is enabled by default; offer a way to disable it',
152)
153
154# Dynamic Sensor Stack
155option(
156    'dynamic-sensors',
157    type: 'feature',
158    value: 'disabled',
159    description: 'Dynamic sensors stack is disabled by default; offer a way to enable it',
160)
161option(
162    'dynamic-sensors-write',
163    type: 'feature',
164    value: 'disabled',
165    description: 'Dynamic sensors stack is disabled by default; offer a way to enable it',
166)
167option(
168    'hybrid-sensors',
169    type: 'feature',
170    value: 'disabled',
171    description: 'Hybrid sensors stack is disabled by default; offer a way to enable it',
172)
173option(
174    'sensors-oem',
175    type: 'feature',
176    value: 'disabled',
177    description: 'OEM sensor SDR parsing is disabled by default; offer a way to enable it',
178)
179
180# Sensor Cache
181option(
182    'sensors-cache',
183    type: 'feature',
184    value: 'disabled',
185    description: 'Sensor cache stack is disabled by default; offer a way to enable it',
186)
187
188# Short Sensor Names for IPMI
189option(
190    'shortname-remove-suffix',
191    type: 'feature',
192    value: 'enabled',
193    description: 'shortname-remove-suffix is enabled by default',
194)
195option(
196    'shortname-replace-words',
197    type: 'feature',
198    value: 'disabled',
199    description: 'shortname-replace-words is disabled by default',
200)
201
202# Generate configuration from Yaml
203option('sensor-yaml-gen', type: 'string', value: 'sensor-example.yaml')
204option(
205    'invsensor-yaml-gen',
206    type: 'string',
207    value: 'inventory-sensor-example.yaml',
208)
209option('fru-yaml-gen', type: 'string', value: 'fru-read-example.yaml')
210
211# Software Version
212option(
213    'get-dbus-active-software',
214    type: 'feature',
215    description: 'Use the  getActiveSoftwareVersionInfo for the BMC version and dev_id.json as backup',
216)
217option(
218    'fw-ver-regex',
219    type: 'string',
220    value: '(\\\\d+)\\\\.(\\\\d+)',
221    description: 'Regular expressions for parsing firmware revision',
222)
223option(
224    'matches-map',
225    type: 'array',
226    value: ['1', '2', '0', '0', '0', '0'],
227    description: 'An array of integers',
228)
229
230# libipmi20.so library
231option(
232    'dynamic-storages-only',
233    type: 'feature',
234    value: 'disabled',
235    description: 'Request to compile storage commands in the libipmi20 library',
236)
237
238# open-power specific functionality.
239option(
240    'open-power',
241    type: 'feature',
242    description: 'Support open-power specific functions',
243)
244
245# arm-sbmr specific functionality.
246option(
247    'arm-sbmr',
248    type: 'feature',
249    description: 'Support Arm SBMR specific functions',
250)
251
252#######################################################################
253# Transport options
254#######################################################################
255
256# HW transport
257option(
258    'transport-implementation',
259    type: 'combo',
260    choices: ['null', 'serial'],
261    description: 'transport',
262)
263
264#######################################################################
265# OEM Libraries
266#######################################################################
267option(
268    'oem-libraries',
269    type: 'array',
270    choices: [
271        # will build all of the OEM libraries - default
272        'all',
273        # don't build any OEM libraries
274        'none',
275        #######################################
276        # keep list below sorted alphabetically
277        #######################################
278        'example',
279        'nvidia',
280    ],
281    value: ['all'],
282    description: 'Build selected OEM IPMI provider libraries',
283)
284