build: Add meson build

Changes to note,
- `with_systemdsystemunitdir` and `with_tmpfilesdir` is removed since it
  is not being documented nor used in OpenBMC.
- Removed the Code coverage feature with `-DDHAVE_GCOV`, since it is not
  used and meson covers it.
- Removed `--enable-oe-sdk` for using the OpenBMC SDK. It should work
  directly with no change required.

Tested:
```
Jan 01 00:01:54 ipmid[709]: Try loading blob from persistent data
Jan 01 00:01:54 ipmid[709]: Stale blob data, resetting internals...
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/bios
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/image
Jan 01 00:01:56 ipmid[709]: config loaded: /flash/dummy
...
```

```
$ ls /usr/lib/blob-ipmid/
libfirmwareblob.so
libfirmwarecleanupblob.so  libversionblob.so
```

Testing the service,
```
$ echo "hello" > /tmp/test.txt
$ burn_my_bmc -command update -layout dummy -image /tmp/test.txt
Sending over the firmware image.
Opening the verification file
Committing to /flash/verify to trigger service
Calling stat on /flash/verify session to check status
running
success
Returned success
succeeded
```

On the BMC.
```
/run/initramfs$ cat dummy
hello
```

Change-Id: I21c7c33bd62c0ee40681cb40da90125c125bea2f
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/cleanup/meson.build b/cleanup/meson.build
new file mode 100644
index 0000000..fa053a0
--- /dev/null
+++ b/cleanup/meson.build
@@ -0,0 +1,32 @@
+cleanup_pre = declare_dependency(
+  include_directories: [root_inc, include_directories('.')],
+  dependencies : [
+    blobs_dep,
+    phosphor_logging_dep])
+
+cleanup_lib = static_library(
+  'firmwarecleanupblob',
+  'cleanup.cpp',
+  'fs.cpp',
+  conf_h,
+  implicit_include_directories: false,
+  dependencies: cleanup_pre)
+
+cleanup_dep = declare_dependency(
+  link_with: cleanup_lib,
+  dependencies: cleanup_pre)
+
+shared_module(
+  'firmwarecleanupblob',
+  'main.cpp',
+  implicit_include_directories: false,
+  dependencies: [
+    cleanup_dep,
+    dependency('libipmid'),
+  ],
+  install: true,
+  install_dir: get_option('libdir') / 'blob-ipmid')
+
+if not get_option('tests').disabled()
+  subdir('test')
+endif
diff --git a/cleanup/test/meson.build b/cleanup/test/meson.build
new file mode 100644
index 0000000..3a7111d
--- /dev/null
+++ b/cleanup/test/meson.build
@@ -0,0 +1,8 @@
+cleanup_test = executable(
+  'cleanup',
+  'cleanup_handler_unittest.cpp',
+  build_by_default: false,
+  implicit_include_directories: false,
+  include_directories: root_inc,
+  dependencies: [cleanup_dep, gtest, gmock])
+test('cleanup', cleanup_test)