option('udevdir',
       type: 'string',
       value: '/etc/udev',
       description: 'udev base directory, default=/etc/udev')
option('bpfs',
       type: 'array',
       choices: ['testing', 'stable', 'userhacks'],
       value: ['testing', 'userhacks'],
       description: 'The subset of BPF programs to build')
option('bpf-filter',
       type: 'array',
       value: [],
       description: 'A comma-separated list of substrings to match against BPF files. Only BPF files matching the filter will be installed.')
option('placeholder-udev-rules-file',
       type: 'boolean',
       value: false,
       description: 'Do not substitute the a @BINDIR@ placeholder in the udev rule')
option('bpfdirs',
       type: 'array',
       value: ['PREFIXED_BPFDIR', '/usr/local/lib/firmware/hid/bpf', '/usr/lib/firmware/hid/bpf', '/lib/firmware/hid/bpf'],
       description: 'A list of prefixes to load bpf.o files from, in order of preference. The special value PREFIX_BPFDIR resolves to PREFIX/lib/firmware. If empty, only the PREFIX_BPFDIR value is used.')
option('bpf-tracing',
       type: 'boolean',
       value: true,  # set to true while struct_ops is not in most distributions
       description: 'Build HID-BPF objects with the tracing capability, depending of the running kernel. This only affects the generated objects, udev-hid-bpf is capable of loading both kinds')
option('tests',
        type: 'feature',
        value: 'auto',
        description: 'Build the unit tests')

# from systemd meson_options.txt
option('bpf-compiler', type : 'combo', choices : ['clang', 'gcc'],
       description : 'compiler used to build BPF programs')
option('vmlinux-h', type : 'combo', choices : ['auto', 'provided', 'generated', 'disabled'], value: 'provided',
       description : 'which vmlinux.h to use')
option('vmlinux-h-path', type : 'string', value : '@SOURCE_DIR@/src/bpf/vmlinux.h',
       description : 'path to vmlinux.h to use')
