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# ENABLE_PHAL_TRUE used in attn_handler.service
10if (get_option('phal').enabled())
11    configuration_data().set('ENABLE_PHAL_TRUE', '')
12else
13    configuration_data().set('ENABLE_PHAL_TRUE', '#')
14endif
15
16# install systemd unit file
17configure_file(
18    input: 'attn_handler.service',
19    output: 'attn_handler.service',
20    copy: true,
21    install_dir:
22        dependency('systemd').get_pkgconfig_variable(
23            'systemdsystemunitdir')
24)
25
26# see if phosphor-logging is available, if not use test case logging code
27if (true == phosphor_logging)
28    logging_src = 'attn_logging.cpp'
29else
30    logging_src = '../test/end2end/logging.cpp'
31endif
32
33# Source files.
34attn_src = files(
35    'attention.cpp',
36    'attn_common.cpp',
37    'attn_config.cpp',
38    'attn_dbus.cpp',
39    'attn_handler.cpp',
40    'attn_main.cpp',
41    'attn_monitor.cpp',
42    'bp_handler.cpp',
43    logging_src,
44    'ti_handler.cpp',
45    'vital_handler.cpp',
46)
47
48# for custom/raw PEL creation
49pel_src = files(
50    'pel/extended_user_header.cpp',
51    'pel/pel_minimal.cpp',
52    'pel/private_header.cpp',
53    'pel/primary_src.cpp',
54    'pel/user_header.cpp',
55)
56
57# Library dependencies.
58attn_deps = [
59    libgpiod,
60    libpdbg_dep,
61    sdbusplus_dep,
62]
63
64# Create static library.
65attn_lib = static_library(
66    'attn_lib',
67    attn_src,
68    pel_src,
69    include_directories : incdir,
70    dependencies : attn_deps,
71    cpp_args : [boost_args, test_arg],
72    install : false,
73)
74