Add flags to Makefile.am to build as c++17 and header-only boost
As the project moves forward, we are updating it to use c++17 and some
of the features that it offers, as well as some more boost bits. This
patch makes sure that all the boost libraries are header only, adds in
c++17, and makes sure that the libraries required are linked properly.
Change-Id: I9a25ec971e4bf05c2c3b73e20938cf337e06077c
Signed-off-by: Vernon Mauery <vernon.mauery@intel.com>
diff --git a/Makefile.am b/Makefile.am
index 2846989..7912a11 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,8 +25,12 @@
CLEANFILES = $(BUILT_SOURCES)
+BOOST_CXX = -DBOOST_ERROR_CODE_HEADER_ONLY \
+ -DBOOST_SYSTEM_NO_DEPRECATED \
+ -DBOOST_ALL_NO_LIB
#TODO - Make this path a configure option (bitbake parameter)
-ipmid_CPPFLAGS = -DHOST_IPMI_LIB_PATH=\"/usr/lib/host-ipmid/\" \
+ipmid_CXXFLAGS = -DHOST_IPMI_LIB_PATH=\"/usr/lib/host-ipmid/\" \
+ $(BOOST_CXX) \
$(PHOSPHOR_LOGGING_CFLAGS) \
$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
ipmid_LDFLAGS = \
@@ -35,6 +39,8 @@
$(LIBADD_DLOPEN) \
$(PHOSPHOR_LOGGING_LIBS) \
$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
+ -lstdc++fs \
+ -pthread \
-export-dynamic
# TODO: Rather than use -export-dynamic, we should use -export-symbol to have a
@@ -90,7 +96,7 @@
$(PHOSPHOR_LOGGING_LIBS) $(PHOSPHOR_DBUS_INTERFACES_LIBS) -lstdc++fs \
-version-info 0:0:0 -shared
libipmi20_la_CXXFLAGS = $(SYSTEMD_CFLAGS) $(libmapper_CFLAGS) \
- $(PHOSPHOR_LOGGING_CFLAGS) \
+ $(BOOST_CXX) $(PHOSPHOR_LOGGING_CFLAGS) \
$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
libsysintfcmdsdir = ${libdir}/ipmid-providers
@@ -105,6 +111,7 @@
$(SDBUSPLUS_LIBS) \
-version-info 0:0:0 -shared
libsysintfcmds_la_CXXFLAGS = $(SYSTEMD_CFLAGS) \
+ $(BOOST_CXX) \
$(libmapper_CFLAGS) \
$(PHOSPHOR_DBUS_INTERFACES_CFLAGS) \
$(PHOSPHOR_LOGGING_CFLAGS) \
diff --git a/configure.ac b/configure.ac
index 918aef7..73d63f6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,7 +40,7 @@
)
# Checks for typedefs, structures, and compiler characteristics.
-AX_CXX_COMPILE_STDCXX_14([noext])
+AX_CXX_COMPILE_STDCXX_17([noext])
AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CFLAGS])
AX_APPEND_COMPILE_FLAGS([-Wall -Werror], [CXXFLAGS])