1# async gpio monitor needs boost library
2boost_args = ['-DBOOST_ASIO_DISABLE_THREADS',
3              '-DBOOST_ERROR_CODE_HEADER_ONLY',
4              '-DBOOST_SYSTEM_NO_DEPRECATED']
5
6# dependency to link gpiod support
7libgpiod = dependency('libgpiod', version : '>=1.4.1')
8
9# install systemd unit file
10configure_file(
11    input: 'attn_handler.service',
12    output: 'attn_handler.service',
13    copy: true,
14    install_dir:
15        dependency('systemd').get_pkgconfig_variable(
16            'systemdsystemunitdir')
17)
18
19# see if phosphor-logging is available, if not use test case logging code
20if (true == phosphor_logging)
21    logging_src = 'attn_logging.cpp'
22else
23    logging_src = '../test/end2end/logging.cpp'
24endif
25
26# Source files.
27attn_src = files(
28    'attention.cpp',
29    'attn_common.cpp',
30    'attn_config.cpp',
31    'attn_dbus.cpp',
32    'attn_handler.cpp',
33    'attn_main.cpp',
34    'attn_monitor.cpp',
35    'bp_handler.cpp',
36    logging_src,
37    'ti_handler.cpp',
38    'vital_handler.cpp',
39)
40
41# for custom/raw PEL creation
42pel_src = files(
43    'pel/extended_user_header.cpp',
44    'pel/pel_minimal.cpp',
45    'pel/private_header.cpp',
46    'pel/primary_src.cpp',
47    'pel/user_header.cpp',
48)
49
50# Library dependencies.
51attn_deps = [
52    libgpiod,
53    libpdbg_dep,
54    sdbusplus_dep,
55]
56
57# Create static library.
58attn_lib = static_library(
59    'attn_lib',
60    attn_src,
61    pel_src,
62    include_directories : incdir,
63    dependencies : attn_deps,
64    cpp_args : [boost_args, test_arg],
65    install : false,
66)
67