blob: 6a0bcc2485c0e2cc20a45eb2add0d979bda0e280 [file] [log] [blame]
Ben Tyneref320152020-01-09 10:31:23 -06001# needed to find external libraries not registered with package manager
2cmplr = meson.get_compiler('cpp')
3
Ben Tyner73ac3682020-01-09 10:46:47 -06004# async gpio monitor needs boost library
5boost_args = ['-DBOOST_ASIO_DISABLE_THREADS',
6 '-DBOOST_ERROR_CODE_HEADER_ONLY',
7 '-DBOOST_SYSTEM_NO_DEPRECATED']
8
Ben Tyner9ae5ca42020-02-28 13:13:50 -06009# dependency to link sdbusplus support
Ben Tyneref320152020-01-09 10:31:23 -060010sdbusplus = dependency('sdbusplus', version : '>=1.0')
11
Ben Tyner73ac3682020-01-09 10:46:47 -060012# dependency to link gpiod support
13libgpiod = dependency('libgpiod', version : '>=1.4.1')
14
Ben Tyneref320152020-01-09 10:31:23 -060015# dependency to link libpdbg support
16libpdbg = cmplr.find_library('pdbg')
17
18# libpdbg requires linking with "whole-archive" option
19whole_archive = declare_dependency(link_args : '-Wl,--whole-archive')
20no_whole_archive = declare_dependency(link_args : '-Wl,--no-whole-archive')
21
Ben Tynerdb37c892020-02-19 13:08:48 -060022# install systemd unit file
23configure_file(
24 input: 'attn_handler.service',
25 output: 'attn_handler.service',
26 copy: true,
27 install_dir:
28 dependency('systemd').get_pkgconfig_variable(
29 'systemdsystemunitdir')
30)
Ben Tyner0205f3b2020-02-24 10:24:47 -060031
Ben Tyner9ae5ca42020-02-28 13:13:50 -060032# see if phosphor-logging is available, if not use test case logging code
33h = 'phosphor-logging/log.hpp'
34if cmplr.compiles('#include <@0@>'.format(h), name : '#include <@0@>'.format(h))
35 logging_src = 'logging.cpp'
36else
37 logging_src = '../test/end2end/logging.cpp'
38endif
39
40# gather attention sources to be used here and elsewhere if needed
41attn_src = files('attn_main.cpp', 'attn_handler.cpp', 'attn_monitor.cpp',
Ben Tynerb481d902020-03-05 10:24:23 -060042 'bp_handler.cpp', 'ti_handler.cpp', logging_src,
Ben Tyner3fb52e52020-03-31 10:10:07 -050043 'attention.cpp', 'attn_config.cpp')
Ben Tyner9ae5ca42020-02-28 13:13:50 -060044
45# Create attention handler library
Ben Tyner0205f3b2020-02-24 10:24:47 -060046attn = static_library('attn_handler',
Ben Tyner9ae5ca42020-02-28 13:13:50 -060047 attn_src,
48 include_directories : incdir,
49 dependencies : [whole_archive, libpdbg,
50 no_whole_archive, sdbusplus, libgpiod],
51 cpp_args : boost_args,
52 install : true)