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/user_channel/meson.build b/user_channel/meson.build
new file mode 100644
index 0000000..b7d6a87
--- /dev/null
+++ b/user_channel/meson.build
@@ -0,0 +1,91 @@
+user_channel_inc = include_directories('.')
+
+channellayer_pre = declare_dependency(
+ include_directories: [root_inc, user_channel_inc],
+ dependencies: [
+ crypto,
+ ipmid_dep,
+ phosphor_dbus_interfaces_dep,
+ phosphor_logging_dep,
+ std_cpp_fs,
+ systemd,
+ ])
+
+channellayer_src = [
+ 'channel_layer.cpp',
+ 'channel_mgmt.cpp',
+ 'cipher_mgmt.cpp',
+]
+
+channellayer_lib = library(
+ 'channellayer',
+ channellayer_src,
+ implicit_include_directories: false,
+ dependencies: channellayer_pre,
+ version: meson.project_version(),
+ install: true,
+ install_dir: get_option('libdir'),
+ override_options: ['b_lundef=false'])
+
+channellayer_dep = declare_dependency(
+ link_with: channellayer_lib,
+ dependencies: channellayer_pre)
+
+if not get_option('libuserlayer').disabled()
+ userlayer_pre = declare_dependency(
+ include_directories: [root_inc, user_channel_inc],
+ dependencies: [
+ channellayer_dep,
+ crypto,
+ ipmid_dep,
+ phosphor_dbus_interfaces_dep,
+ phosphor_logging_dep,
+ pam,
+ std_cpp_fs,
+ systemd,
+ ])
+
+ userlayer_src = [
+ 'user_layer.cpp',
+ 'user_mgmt.cpp',
+ 'passwd_mgr.cpp',
+ ]
+
+ userlayer_lib = library(
+ 'userlayer',
+ userlayer_src,
+ implicit_include_directories: false,
+ dependencies: userlayer_pre,
+ version: meson.project_version(),
+ install: true,
+ install_dir: get_option('libdir'),
+ override_options: ['b_lundef=false'])
+
+ userlayer_dep = declare_dependency(
+ link_with: userlayer_lib,
+ dependencies: userlayer_pre)
+
+ usercmds_pre = declare_dependency(
+ include_directories: [root_inc, user_channel_inc],
+ dependencies: [
+ mapper,
+ phosphor_logging_dep,
+ ipmid_dep,
+ userlayer_dep,
+ channellayer_dep,
+ ])
+
+ usercmds_lib = shared_library(
+ 'usercmds',
+ 'usercommands.cpp',
+ implicit_include_directories: false,
+ dependencies: usercmds_pre,
+ install: true,
+ install_dir: get_option('libdir') / 'ipmid-providers',
+ override_options: ['b_lundef=false'])
+
+ usercmds_dep = declare_dependency(
+ link_with: usercmds_lib,
+ dependencies: usercmds_pre)
+
+endif