build: Add meson build for phosphor-host-ipmi

Create meson and meson_options for the existing features.

Removed sample.h/cpp since that is not used at all.

Tested:
Ipmi command works fine the cleanup.
```
$ systemctl status phosphor-ipmi-host
● phosphor-ipmi-host.service - Phosphor Inband IPMI
     Loaded: loaded (/lib/systemd/system/phosphor-ipmi-host.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 1970-01-08 21:20:56 UTC; 21s ago
   Main PID: 24987 (ipmid)
     CGroup: /system.slice/phosphor-ipmi-host.service
             └─24987 /tmp/ipmid

Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X30] for Ethstats Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X32] for Sys Commands
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X002B79], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X02] for I2C
Jan 08 21:20:56 $HOST ipmid[24987]: I2C_WHITELIST_CHECK is disabled, do not populate whitelist
Jan 08 21:20:56 $HOST ipmid[24987]: Registering OEM:[0X00C2CF], Cmd:[0X04] for Manual Zone Control
Jan 08 21:20:56 $HOST systemd[1]: Started Phosphor Inband IPMI.
Jan 08 21:20:56 $HOST ipmid[24987]: Loading whitelist filter
Jan 08 21:20:56 $HOST ipmid[24987]: Set restrictedMode = true
(reverse-i-search)`ipmi': systemctl status phosphor-^Cmi-host

$ ipmitool mc info
Device ID                 : 32
Device Revision           : 1
Firmware Revision         : 0.00
IPMI Version              : 2.0
Manufacturer ID           : 7244
Manufacturer Name         : Quanta Computer Inc.
Product ID                : 14426 (0x385a)
Product Name              : Unknown (0x385A)
Device Available          : yes
Provides Device SDRs      : yes
Additional Device Support :
    Sensor Device
    SEL Device
    FRU Inventory Device
    Chassis Device
Aux Firmware Rev Info     :
    0x00
    0x00
    0x00
    0x00
```

Change-Id: Ibaea9eea802b063a0207320654cbb817fde30c2a
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..af121c6
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,66 @@
+
+option('tests', type: 'feature', description: 'Build tests')
+option('boot-flag-safe-mode-support', type: 'feature', description: 'Add option to enable/disable safe mode in boot flags')
+option('i2c-whitelist-check', type: 'feature', description: 'Add option to enable/disable i2c master write read command white list checking')
+
+# SoftPowerOff
+option('softoff', type: 'feature', description: 'Builds soft power off')
+option('softoff-busname', type: 'string', value: 'xyz.openbmc_project.Ipmi.Internal.SoftPowerOff', description: 'The Dbus busname to own for SoftPowerOff')
+option('softoff-objpath', type: 'string', value: '/xyz/openbmc_project/ipmi/internal/soft_power_off', description: 'The SoftPowerOff Dbus root')
+option('ipmi-sms-atn-ack-timeout-secs', type: 'integer', value: 3, description: 'Timeout for host to ack and query SMS_ATN from BMC')
+option('ipmi-host-shutdown-complete-timeout-secs', type: 'integer', value: 2700, description: 'Wait time for host to shutdown')
+# Indicates an in-band power off or reboot request from the host
+# This file is used to ensure the soft off service does not run for host
+# initiated shutdown or reboot requests
+option('host-inband-request-dir', type: 'string', value: '/run/openbmc/', description: 'Directory to store host initiated shutdown file')
+option('host-inband-request-file', type: 'string', value: 'host@%u-request', description: 'File to create if host has initiated shutdown or reboot')
+
+
+# Config Variables
+option('board-sensor', type: 'string', value: '/xyz/openbmc_project/inventory/system/chassis/motherboard', description: 'The inventory path to the motherboard fault sensor')
+option('system-sensor', type: 'string', value: '/xyz/openbmc_project/inventory/system', description: 'The inventory path to the system event sensor')
+
+# Control Host Interfaces
+option('control-host-busname', type: 'string', value: 'xyz.openbmc_project.Control.Host', description: 'The Control Host Dbus busname to own')
+option('control-host-obj-mgr', type: 'string', value: '/xyz/openbmc_project/control', description: 'The Control Host D-Bus Object Manager')
+option('host-name', type: 'string', value: 'host', description: 'The Control Host D-Bus Object Manager')
+
+# Power reading sensor configuration file
+option('power-reading-sensor', type: 'string', value: '/usr/share/ipmi-providers/power_reading.json', description: 'Power reading sensor configuration file')
+option('host-ipmi-lib-path', type: 'string', value: '/usr/lib/ipmid-providers/', description: 'The file path to search for libraries')
+
+# When a sensor read fails, hwmon will update the OperationalState interface's Functional property.
+# This will mark the sensor as not functional and we will skip reading from that sensor.
+option('update-functional-on-fail', type: 'feature', value: 'disabled', description: 'Check functional property to skip reading from faulty sensors')
+
+# Features
+
+# When libuserlayer is disabled, libuserlayer won't be included in the build.
+option('libuserlayer', type: 'feature', description: 'Option to exclue exclude libuserlayer')
+
+# When transport-oem is enabled, the transporthandler_oem.cpp contents
+# are compiled and added to the project. The transporthandler_oem.cpp file is
+# copied from your own customization layer in the
+# phosphor-ipmi-host_%.bbappend file. It is not necessary to create this file
+# unless OEM Parameter extensions are required.
+option('transport-oem', type: 'feature', value: 'disabled', description: 'Enable transporthandler_oem contents')
+
+# IPMI whitelist mechanism is not needed by everyone; offer a way to disable it
+option('ipmi-whitelist', type: 'feature', description: 'Enable/disable IPMI whitelist filtering')
+option('whitelist-conf', type: 'string', value: 'host-ipmid-whitelist.conf', description: 'Paths to IPMI whitelisted commands conf files')
+
+# Dynamic Sensor Stack
+option('dynamic-sensors', type: 'feature', value: 'disabled', description: 'Dynamic sensors stack is enabled by default; offer a way to disable it')
+option('dynamic-sensors-write', type: 'feature', value: 'disabled', description: 'Dynamic sensors stack is enabled by default; offer a way to disable it')
+option('hybrid-sensors', type: 'feature', value: 'disabled', description: 'Hybrid sensors stack is disabled by default; offer a way to enable it')
+
+# Sensor Cache
+option('sensors-cache', type: 'feature', value: 'disabled', description: 'Sensor cache stack is disabled by default; offer a way to enable it')
+
+# SEL Logger
+option('sel-logger-clears-sel', type: 'feature', value: 'disabled', description: 'Clearing SEL through sel-logger is disabled by default; offer a way to enable it')
+
+# Generate configuration from Yaml
+option('sensor-yaml-gen', type: 'string', value: 'sensor-example.yaml')
+option('invsensor-yaml-gen', type: 'string', value: 'inventory-sensor-example.yaml')
+option('fru-yaml-gen', type: 'string', value: 'fru-read-example.yaml')