pci_handler: Add pci_handler
Taken most of the logic from phoshpor-ipmi-flash:
https://github.com/openbmc/phosphor-ipmi-flash/blob/master/tools/io.cpp
Tested: Unit Test + Tested this on a real machine
Signed-off-by: Brandon Kim <brandonkim@google.com>
Change-Id: I546d1dff8764e31c9f2fa6c7465ba23a24f6fdea
diff --git a/src/meson.build b/src/meson.build
index 1a4f80a..c7f76bd 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,10 +1,35 @@
+fmt_dep = dependency('fmt', required: false)
+if not fmt_dep.found()
+ fmt_opts = import('cmake').subproject_options()
+ fmt_opts.add_cmake_defines({
+ 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON',
+ 'MASTER_PROJECT': 'OFF',
+ })
+ fmt_proj = import('cmake').subproject(
+ 'fmt',
+ options: fmt_opts,
+ required: false)
+ assert(fmt_proj.found(), 'fmtlib is required')
+ fmt_dep = fmt_proj.dependency('fmt')
+endif
+
bios_bmc_smm_error_logger_pre = declare_dependency(
+ include_directories: [root_inc, bios_bmc_smm_error_logger_inc],
dependencies: [
+ fmt_dep,
dependency('threads'),
+ dependency('stdplus'),
])
+bios_bmc_smm_error_logger_lib = static_library(
+ 'bios_bmc_smm_error_logger',
+ 'pci_handler.cpp',
+ implicit_include_directories: false,
+ dependencies: bios_bmc_smm_error_logger_pre)
+
bios_bmc_smm_error_logger_dep = declare_dependency(
- dependencies: bios_bmc_smm_error_logger_pre,)
+ link_with: bios_bmc_smm_error_logger_lib,
+ dependencies: bios_bmc_smm_error_logger_pre)
executable(
'bios-bmc-smm-error-logger',