blob: 6a0bcc2485c0e2cc20a45eb2add0d979bda0e280 [file] [log] [blame]
# needed to find external libraries not registered with package manager
cmplr = meson.get_compiler('cpp')
# async gpio monitor needs boost library
boost_args = ['-DBOOST_ASIO_DISABLE_THREADS',
'-DBOOST_ERROR_CODE_HEADER_ONLY',
'-DBOOST_SYSTEM_NO_DEPRECATED']
# dependency to link sdbusplus support
sdbusplus = dependency('sdbusplus', version : '>=1.0')
# dependency to link gpiod support
libgpiod = dependency('libgpiod', version : '>=1.4.1')
# dependency to link libpdbg support
libpdbg = cmplr.find_library('pdbg')
# libpdbg requires linking with "whole-archive" option
whole_archive = declare_dependency(link_args : '-Wl,--whole-archive')
no_whole_archive = declare_dependency(link_args : '-Wl,--no-whole-archive')
# install systemd unit file
configure_file(
input: 'attn_handler.service',
output: 'attn_handler.service',
copy: true,
install_dir:
dependency('systemd').get_pkgconfig_variable(
'systemdsystemunitdir')
)
# see if phosphor-logging is available, if not use test case logging code
h = 'phosphor-logging/log.hpp'
if cmplr.compiles('#include <@0@>'.format(h), name : '#include <@0@>'.format(h))
logging_src = 'logging.cpp'
else
logging_src = '../test/end2end/logging.cpp'
endif
# gather attention sources to be used here and elsewhere if needed
attn_src = files('attn_main.cpp', 'attn_handler.cpp', 'attn_monitor.cpp',
'bp_handler.cpp', 'ti_handler.cpp', logging_src,
'attention.cpp', 'attn_config.cpp')
# Create attention handler library
attn = static_library('attn_handler',
attn_src,
include_directories : incdir,
dependencies : [whole_archive, libpdbg,
no_whole_archive, sdbusplus, libgpiod],
cpp_args : boost_args,
install : true)