1# needed to find external libraries not registered with package manager 2cmplr = meson.get_compiler('cpp') 3 4# async gpio monitor needs boost library 5boost_args = ['-DBOOST_ASIO_DISABLE_THREADS', 6 '-DBOOST_ERROR_CODE_HEADER_ONLY', 7 '-DBOOST_SYSTEM_NO_DEPRECATED'] 8 9# dependency to link dbus support 10sdbusplus = dependency('sdbusplus', version : '>=1.0') 11 12# dependency to link gpiod support 13libgpiod = dependency('libgpiod', version : '>=1.4.1') 14 15# 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 22# 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) 31executable('attn_handler', 32 'attn_main.cpp', 'attn_handler.cpp', 'attn_monitor.cpp', 33 dependencies : [whole_archive, libpdbg, 34 no_whole_archive, sdbusplus, libgpiod], 35 cpp_args : boost_args, 36 install : true) 37