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)