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