meson: build: Initial commit, create config file

Create the meson.build and meson_options.txt to generate a config.h
file. Set the config default values to static as it's set currently
and the values that the recipe sets as a default (max number of
versions to 1 and media directory to /run/media).

Tested: Verified the meson-generated config.h fle was equivalent to
        the autotools-generated one. Verified config values were
        changed with the config options, ex: 'meson build -Dbmc-layout=ubi'

Change-Id: I987db2e28db209e4f16b305375d007ad34ff9bd3
Signed-off-by: Adriana Kobylak <anoo@us.ibm.com>
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..e0fc849
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,79 @@
+# Supported BMC layout types. Reference:
+# https://github.com/openbmc/docs/blob/master/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.
+option('bmc-layout', type: 'combo',
+    choices: ['static', 'ubi'],
+    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('verify-signature', type: 'feature',
+    description: 'Enable image 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(
+    '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.',
+)