Convert kcsbridged to C++17, sdbusplus::asio, and new IPMI D-Bus API
This rewrites the C-style kcsbridged in modern C++, taking advantage of
the sdbusplus::asio bindings. This also converts the bridge to use the
new IPMI D-Bus API, which is method based instead of signal/method
based.
Tested-by: Using a parameterized unit file, launching via
sytemctl start phosphor-ipmi-kcs@ipmi-kcs3
verify from host:
modprobe ipmi_si
ipmitool mc info
Change-Id: I3a3e85a23fa7b76814848fcf270d25e4510bdd77
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/configure.ac b/configure.ac
index a2e5836..08994cd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,15 +4,18 @@
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign dist-xz])
AM_SILENT_RULES([yes])
+AC_LANG([C++])
# Checks for programs.
-AC_PROG_CC
+AC_PROG_CXX
AM_PROG_AR
AC_PROG_INSTALL
AC_PROG_MAKE_SET
# Checks for libraries.
PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 221])
+PKG_CHECK_MODULES([PHOSPHOR_LOGGING], [phosphor-logging])
+PKG_CHECK_MODULES([SDBUSPLUS], [sdbusplus])
# Checks for header files.
AC_CHECK_HEADER(systemd/sd-bus.h, ,[AC_MSG_ERROR([Could not find systemd/sd-bus.h...systemd development package required])])
@@ -23,6 +26,7 @@
)
# Checks for typedefs, structures, and compiler characteristics.
+AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
AX_APPEND_COMPILE_FLAGS([-fpic -Wall -Werror], [CFLAGS])
# Checks for library functions.