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) 31 32attn = static_library('attn_handler', 33 'attn_main.cpp', 'attn_handler.cpp', 'attn_monitor.cpp', 34 include_directories : incdir, 35 dependencies : [whole_archive, libpdbg, 36 no_whole_archive, sdbusplus, libgpiod], 37 cpp_args : boost_args, 38 install : true) 39