# Supported BMC layout types. Reference:
# https://github.com/openbmc/docs/blob/master/architecture/code-update/flash-layout.md#supported-filesystem-choices
# - static: NOR flash configured with fixed-sized MTD partitions.
# - ubi: NOR flash device configured with UBI volumes.
# - mmc: eMMC flash device configured with ext4 filesystems.
option('bmc-layout', type: 'combo',
    choices: ['static', 'ubi', 'mmc'],
    value: 'static',
    description: 'The BMC layout type.')

# Features
option('host-bios-upgrade', type: 'feature',
    description: 'Enable host bios upgrade support.')

option('sync-bmc-files', type: 'feature',
    description: 'Enable sync of filesystem files.')

option('tests', type: 'feature', description: 'Build tests')

option('oe-sdk', type: 'feature', description: 'Enable OE SDK')

option('verify-signature', type: 'feature',
    description: 'LEGACY: Use verify-full-signature instead. Enable image signature validation.')

option('verify-full-signature', type: 'feature',
    description: 'Enable image full signature validation.')

# Variables
option(
    'active-bmc-max-allowed', type: 'integer',
    value: 1,
    description: 'The maximum allowed active BMC versions.',
)

option(
    'hash-file-name', type: 'string',
    value: 'hashfunc',
    description: 'The name of the hash file.',
)

option(
    'img-upload-dir', type: 'string',
    value: '/tmp/images',
    description: 'Directory where downloaded software images are placed.',
)

option(
    'manifest-file-name', type: 'string',
    value: 'MANIFEST',
    description: 'The name of the MANIFEST file.',
)

option(
    'media-dir', type: 'string',
    value: '/run/media',
    description: 'The base dir where all read-only partitions are mounted.',
)

option(
    'optional-images', type: 'array',
    value: [],
    description: 'A list of additional image files in the BMC tarball.',
)

option(
    'publickey-file-name', type: 'string',
    value: 'publickey',
    description: 'The name of the public key file.',
)

option(
    'signature-file-ext', type: 'string',
    value: '.sig',
    description: 'The extension of the Signature file.',
)

option(
    'signed-image-conf-path', type: 'string',
    value: '/etc/activationdata/',
    description: 'Path of public key and hash function files.',
)

option(
    'sync-list-dir-path', type: 'string',
    value: '/etc/',
    description: 'The path to the sync list file directory.',
)

option(
    'sync-list-file-name', type: 'string',
    value: 'synclist',
    description: 'The name of the sync list file.',
)

option(
    'bmc-msl', type: 'string',
    value: '',
    description: 'The BMC minimum ship level.',
)

option(
    'regex-bmc-msl', type: 'string',
    value: '',
    description: 'The Regular expression to parse the MSL.',
)

option(
    'bios-object-path', type: 'string',
    value: '/xyz/openbmc_project/software/bios_active',
    description: 'The BIOS DBus object path.',
)
