move entity_map_json to libipmid
entity_map_json is used by dbus-sdr sensor handling so it needs to be in
a common location or loading order matters. This change moves the file
from the ipmi20 provider library to libipmi, a common library.
Tested: Found that even though the dbus-sdr provider loads before
ipmi20, it loads properly without missing symbols.
Change-Id: I9ab6833c78e6f3c89c02cf998ce0a36353059c3d
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/dbus-sdr/meson.build b/dbus-sdr/meson.build
index bfdbde1..b8dce8e 100644
--- a/dbus-sdr/meson.build
+++ b/dbus-sdr/meson.build
@@ -10,9 +10,9 @@
include_directories: root_inc,
dependencies: [
crypto,
+ nlohmann_json_dep,
phosphor_logging_dep,
ipmid_dep,
- libipmi20_dep,
sensorutils_dep,
])
diff --git a/dbus-sdr/sensorcommands.cpp b/dbus-sdr/sensorcommands.cpp
index 16860dc..63f164e 100644
--- a/dbus-sdr/sensorcommands.cpp
+++ b/dbus-sdr/sensorcommands.cpp
@@ -19,11 +19,11 @@
#include "dbus-sdr/sdrutils.hpp"
#include "dbus-sdr/sensorutils.hpp"
#include "dbus-sdr/storagecommands.hpp"
-#include "entity_map_json.hpp"
#include <boost/algorithm/string.hpp>
#include <boost/container/flat_map.hpp>
#include <ipmid/api.hpp>
+#include <ipmid/entity_map_json.hpp>
#include <ipmid/types.hpp>
#include <ipmid/utils.hpp>
#include <phosphor-logging/log.hpp>
diff --git a/entity_map_json.hpp b/include/ipmid/entity_map_json.hpp
similarity index 100%
rename from entity_map_json.hpp
rename to include/ipmid/entity_map_json.hpp
diff --git a/entity_map_json.cpp b/libipmid/entity_map_json.cpp
similarity index 98%
rename from entity_map_json.cpp
rename to libipmid/entity_map_json.cpp
index d00fcf0..76fbb25 100644
--- a/entity_map_json.cpp
+++ b/libipmid/entity_map_json.cpp
@@ -1,5 +1,4 @@
-#include "entity_map_json.hpp"
-
+#include <ipmid/entity_map_json.hpp>
#include <ipmid/types.hpp>
#include <nlohmann/json.hpp>
diff --git a/libipmid/meson.build b/libipmid/meson.build
index 3a8042c..0d6360c 100644
--- a/libipmid/meson.build
+++ b/libipmid/meson.build
@@ -6,13 +6,22 @@
systemd,
]
+entity_map_json_lib = static_library(
+ 'entity_map_json',
+ 'entity_map_json.cpp',
+ include_directories: root_inc,
+ dependencies: [nlohmann_json_dep, sdbusplus_dep],
+ implicit_include_directories: false)
+
+entity_map_json_dep = declare_dependency(link_with: entity_map_json_lib)
+
libipmid = library(
'ipmid',
'sdbus-asio.cpp',
'signals.cpp',
'systemintf-sdbus.cpp',
'utils.cpp',
- dependencies: ipmid_pre,
+ dependencies: [ipmid_pre, entity_map_json_dep],
version: meson.project_version(),
include_directories: root_inc,
install: true,
diff --git a/meson.build b/meson.build
index 9ea6e1c..f6fc07c 100644
--- a/meson.build
+++ b/meson.build
@@ -205,15 +205,6 @@
transportoem_src = ['transporthandler_oem.cpp']
endif
-entity_map_json_lib = static_library(
- 'entity_map_json',
- 'entity_map_json.cpp',
- include_directories: root_inc,
- dependencies: [ipmid_dep, nlohmann_json_dep],
- implicit_include_directories: false)
-
-entity_map_json_dep = declare_dependency(link_with: entity_map_json_lib)
-
libipmi20_src = [
'app/channel.cpp',
'app/watchdog.cpp',
@@ -242,7 +233,7 @@
ipmi20_lib = library(
'ipmi20',
libipmi20_src,
- dependencies: [ipmid_pre, entity_map_json_dep, nlohmann_json_dep],
+ dependencies: [ipmid_pre, nlohmann_json_dep],
include_directories: root_inc,
install: true,
install_dir: get_option('libdir') / 'ipmid-providers',
diff --git a/sensorhandler.cpp b/sensorhandler.cpp
index 84b6e9d..a819100 100644
--- a/sensorhandler.cpp
+++ b/sensorhandler.cpp
@@ -2,13 +2,13 @@
#include "sensorhandler.hpp"
-#include "entity_map_json.hpp"
#include "fruread.hpp"
#include <mapper.h>
#include <systemd/sd-bus.h>
#include <ipmid/api.hpp>
+#include <ipmid/entity_map_json.hpp>
#include <ipmid/types.hpp>
#include <ipmid/utils.hpp>
#include <phosphor-logging/elog-errors.hpp>
diff --git a/storagehandler.cpp b/storagehandler.cpp
index 61cf42e..0ac735b 100644
--- a/storagehandler.cpp
+++ b/storagehandler.cpp
@@ -1,6 +1,5 @@
#include "storagehandler.hpp"
-#include "entity_map_json.hpp"
#include "fruread.hpp"
#include "read_fru_data.hpp"
#include "selutility.hpp"
@@ -12,6 +11,7 @@
#include <systemd/sd-bus.h>
#include <ipmid/api.hpp>
+#include <ipmid/entity_map_json.hpp>
#include <ipmid/utils.hpp>
#include <phosphor-logging/elog-errors.hpp>
#include <phosphor-logging/elog.hpp>
diff --git a/test/entitymap_json_unittest.cpp b/test/entitymap_json_unittest.cpp
index 4993351..5f31e1b 100644
--- a/test/entitymap_json_unittest.cpp
+++ b/test/entitymap_json_unittest.cpp
@@ -1,5 +1,4 @@
-#include "entity_map_json.hpp"
-
+#include <ipmid/entity_map_json.hpp>
#include <ipmid/types.hpp>
#include <nlohmann/json.hpp>