xref: /openbmc/openpower-hw-diags/attn/meson.build (revision c322c328f45f16d1e6f0e4de6dbce1eeb2e00a5d)
173ac368aSBen Tyner# async gpio monitor needs boost library
2*c322c328SPatrick Williamsboost_args = [
3*c322c328SPatrick Williams    '-DBOOST_ASIO_DISABLE_THREADS',
473ac368aSBen Tyner    '-DBOOST_ERROR_CODE_HEADER_ONLY',
5*c322c328SPatrick Williams    '-DBOOST_SYSTEM_NO_DEPRECATED',
6*c322c328SPatrick Williams]
773ac368aSBen Tyner
873ac368aSBen Tyner# dependency to link gpiod support
973ac368aSBen Tynerlibgpiod = dependency('libgpiod', version: '>=1.4.1')
1073ac368aSBen Tyner
11a9f85590SBen Tyner# get openpower-hw-diags build configuration
12276e9813SBen Tynerattn_conf = configuration_data()
13276e9813SBen Tyner
14a9f85590SBen Tyner# conditionally define ENABLE_PHAL_TRUE
157619ab78SPatrick Williamsif (get_option('phal').allowed())
16276e9813SBen Tyner    attn_conf.set('ENABLE_PHAL_TRUE', '')
17897a6f7dSBen Tynerelse
18276e9813SBen Tyner    attn_conf.set('ENABLE_PHAL_TRUE', '#')
19897a6f7dSBen Tynerendif
20897a6f7dSBen Tyner
21a9f85590SBen Tyner# attention handler default config override
22a9f85590SBen Tynerattn_conf.set('ATTN_CONFIG', get_option('attn_config'))
23a9f85590SBen Tyner
24a9f85590SBen Tyner# install attention handler unit file
25db37c89fSBen Tynerconfigure_file(
26276e9813SBen Tyner    configuration: attn_conf,
27276e9813SBen Tyner    input: 'attn_handler.service.in',
28db37c89fSBen Tyner    output: 'attn_handler.service',
29276e9813SBen Tyner    install: true,
30*c322c328SPatrick Williams    install_dir: dependency('systemd').get_variable('systemdsystemunitdir'),
31db37c89fSBen Tyner)
320205f3b3SBen Tyner
33a9f85590SBen Tyner# install attention handler config file
34a9f85590SBen Tynerconfigure_file(
35a9f85590SBen Tyner    configuration: attn_conf,
36a9f85590SBen Tyner    input: 'attn_config.in',
37a9f85590SBen Tyner    output: 'attn_config',
38a9f85590SBen Tyner    install: true,
39*c322c328SPatrick Williams    install_dir: join_paths(get_option('sysconfdir'), 'default'),
40a9f85590SBen Tyner)
41a9f85590SBen Tyner
42c252894dSZane Shelley# Source files.
43c252894dSZane Shelleyattn_src = files(
44188f1096SBen Tyner    'attention.cpp',
45bcf65a8bSBen Tyner    'attn_common.cpp',
46c252894dSZane Shelley    'attn_config.cpp',
47188f1096SBen Tyner    'attn_dbus.cpp',
487029e525SBen Tyner    'attn_dump.cpp',
49c252894dSZane Shelley    'attn_handler.cpp',
5046b5e2baSBen Tyner    'attn_logging.cpp',
51c252894dSZane Shelley    'attn_main.cpp',
52c252894dSZane Shelley    'attn_monitor.cpp',
53c252894dSZane Shelley    'bp_handler.cpp',
54c252894dSZane Shelley    'ti_handler.cpp',
55bcf65a8bSBen Tyner    'vital_handler.cpp',
56c252894dSZane Shelley)
579ae5ca41SBen Tyner
58f5210bb6SBen Tyner# for custom/raw PEL creation
59f5210bb6SBen Tynerpel_src = files(
60feeea83bSBen Tyner    'pel/extended_user_header.cpp',
61f5210bb6SBen Tyner    'pel/pel_minimal.cpp',
62f5210bb6SBen Tyner    'pel/primary_src.cpp',
63*c322c328SPatrick Williams    'pel/private_header.cpp',
64f5210bb6SBen Tyner    'pel/user_header.cpp',
65f5210bb6SBen Tyner)
66f5210bb6SBen Tyner
67c252894dSZane Shelley# Library dependencies.
68*c322c328SPatrick Williamsattn_deps = [libgpiod, libpdbg_dep, phosphor_logging_dep, sdbusplus_dep]
69c252894dSZane Shelley
70b9715179SBen Tyner# conditional library dependencies
717619ab78SPatrick Williamsif get_option('phal').allowed()
72b9715179SBen Tyner    attn_deps += libphal_dep
73b9715179SBen Tynerendif
74b9715179SBen Tyner
75c252894dSZane Shelley# Create static library.
76c252894dSZane Shelleyattn_lib = static_library(
77c252894dSZane Shelley    'attn_lib',
789ae5ca41SBen Tyner    attn_src,
79f5210bb6SBen Tyner    pel_src,
800205f3b3SBen Tyner    include_directories: incdir,
81c252894dSZane Shelley    dependencies: attn_deps,
829cdfa247SZane Shelley    cpp_args: [boost_args],
83c252894dSZane Shelley    install: false,
84c252894dSZane Shelley)
85