meson: add alternative build system

Enable meson build for the pldm project (by default). The autotools
support will be eventually removed. This change is aligned with other
OpenBMC repos, and besides for pldm meson seems to be significantly
faster (see times below to build and run tests on an x86 OpenBMC sdk).

time sh -c './bootstrap.sh ; ./configure ${CONFIGURE_FLAGS}
--enable-oe-sdk --enable-oem-ibm ; make ; make check'
real    3m49.495s

time sh -c 'meson -Doe-sdk=enabled -Dtests=enabled -Doem-ibm=enabled
build/ ; ninja -C build test'
real    0m14.940s

With the currently used warning level in the meson config (the highest
level is used), certain warnings had to be fixed in this commit
(warnings are treated as errors).

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I9022417c8fa218d3c2c2f786502caa815af2f832
diff --git a/libpldmresponder/meson.build b/libpldmresponder/meson.build
new file mode 100644
index 0000000..c63685c
--- /dev/null
+++ b/libpldmresponder/meson.build
@@ -0,0 +1,34 @@
+deps = [
+  dependency('phosphor-dbus-interfaces'),
+  dependency('phosphor-logging'),
+  dependency('sdbusplus'),
+  libpldm
+]
+
+sources = [
+  'base.cpp',
+  'bios.cpp',
+  'bios_table.cpp',
+  'bios_parser.cpp',
+  'pdr.cpp',
+  'effecters.cpp',
+  'utils.cpp',
+  '../registration.cpp'
+]
+
+if get_option('oem-ibm').enabled()
+  sources += [
+    '../oem/ibm/libpldmresponder/file_io.cpp',
+    '../oem/ibm/libpldmresponder/file_table.cpp'
+  ]
+endif
+
+libpldmresponder = library(
+  'libpldmresponder',
+  sources,
+  version: meson.project_version(),
+  dependencies: deps,
+  install: true)
+
+libpldmresponder = declare_dependency(
+  link_with: libpldmresponder)