1*1bbe3d1eSWilliam A. Kennington IIIphosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 2*1bbe3d1eSWilliam A. Kennington IIIphosphor_logging_dep = dependency('phosphor-logging') 3*1bbe3d1eSWilliam A. Kennington III 4*1bbe3d1eSWilliam A. Kennington IIIsrc_includes = include_directories('.') 5*1bbe3d1eSWilliam A. Kennington III 6*1bbe3d1eSWilliam A. Kennington IIIexecutable( 7*1bbe3d1eSWilliam A. Kennington III 'ncsi-netlink', 8*1bbe3d1eSWilliam A. Kennington III 'argument.cpp', 9*1bbe3d1eSWilliam A. Kennington III 'ncsi_netlink_main.cpp', 10*1bbe3d1eSWilliam A. Kennington III 'ncsi_util.cpp', 11*1bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 12*1bbe3d1eSWilliam A. Kennington III include_directories: src_includes, 13*1bbe3d1eSWilliam A. Kennington III dependencies: [ 14*1bbe3d1eSWilliam A. Kennington III dependency('libnl-3.0'), 15*1bbe3d1eSWilliam A. Kennington III dependency('libnl-genl-3.0'), 16*1bbe3d1eSWilliam A. Kennington III phosphor_dbus_interfaces_dep, 17*1bbe3d1eSWilliam A. Kennington III phosphor_logging_dep, 18*1bbe3d1eSWilliam A. Kennington III ], 19*1bbe3d1eSWilliam A. Kennington III install: true, 20*1bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 21*1bbe3d1eSWilliam A. Kennington III 22*1bbe3d1eSWilliam A. Kennington IIIjson_dep = declare_dependency() 23*1bbe3d1eSWilliam A. Kennington IIIif get_option('sync-mac') 24*1bbe3d1eSWilliam A. Kennington III # nlohmann_json might not have a pkg-config. It is header only so just make 25*1bbe3d1eSWilliam A. Kennington III # sure we can access the needed symbols from the header. 26*1bbe3d1eSWilliam A. Kennington III has_json = meson.get_compiler('cpp').has_header_symbol( 27*1bbe3d1eSWilliam A. Kennington III 'nlohmann/json.hpp', 28*1bbe3d1eSWilliam A. Kennington III 'nlohmann::json::string_t', 29*1bbe3d1eSWilliam A. Kennington III required: false) 30*1bbe3d1eSWilliam A. Kennington III if not has_json 31*1bbe3d1eSWilliam A. Kennington III json_dep = dependency( 32*1bbe3d1eSWilliam A. Kennington III 'nlohmann_json', 33*1bbe3d1eSWilliam A. Kennington III fallback: ['nlohmann_json', 'nlohmann_json_dep'], 34*1bbe3d1eSWilliam A. Kennington III required: true) 35*1bbe3d1eSWilliam A. Kennington III endif 36*1bbe3d1eSWilliam A. Kennington IIIendif 37*1bbe3d1eSWilliam A. Kennington III 38*1bbe3d1eSWilliam A. Kennington IIInetworkd_deps = [ 39*1bbe3d1eSWilliam A. Kennington III json_dep, 40*1bbe3d1eSWilliam A. Kennington III phosphor_dbus_interfaces_dep, 41*1bbe3d1eSWilliam A. Kennington III phosphor_logging_dep, 42*1bbe3d1eSWilliam A. Kennington III sdbusplus_dep, 43*1bbe3d1eSWilliam A. Kennington III dependency('sdeventplus', fallback: ['sdeventplus', 'sdeventplus_dep']), 44*1bbe3d1eSWilliam A. Kennington III dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']), 45*1bbe3d1eSWilliam A. Kennington III] 46*1bbe3d1eSWilliam A. Kennington III 47*1bbe3d1eSWilliam A. Kennington IIIconf_header = configure_file( 48*1bbe3d1eSWilliam A. Kennington III output: 'config.h', 49*1bbe3d1eSWilliam A. Kennington III configuration: conf_data) 50*1bbe3d1eSWilliam A. Kennington III 51*1bbe3d1eSWilliam A. Kennington IIInetworkd_generated = [ 52*1bbe3d1eSWilliam A. Kennington III conf_header, 53*1bbe3d1eSWilliam A. Kennington III] + generated_sources 54*1bbe3d1eSWilliam A. Kennington III 55*1bbe3d1eSWilliam A. Kennington IIInetworkd_includes = [ 56*1bbe3d1eSWilliam A. Kennington III src_includes, 57*1bbe3d1eSWilliam A. Kennington III generated_includes, 58*1bbe3d1eSWilliam A. Kennington III] 59*1bbe3d1eSWilliam A. Kennington III 60*1bbe3d1eSWilliam A. Kennington IIInetworkd_lib = static_library( 61*1bbe3d1eSWilliam A. Kennington III 'networkd', 62*1bbe3d1eSWilliam A. Kennington III networkd_generated, 63*1bbe3d1eSWilliam A. Kennington III 'ethernet_interface.cpp', 64*1bbe3d1eSWilliam A. Kennington III 'neighbor.cpp', 65*1bbe3d1eSWilliam A. Kennington III 'ipaddress.cpp', 66*1bbe3d1eSWilliam A. Kennington III 'netlink.cpp', 67*1bbe3d1eSWilliam A. Kennington III 'network_config.cpp', 68*1bbe3d1eSWilliam A. Kennington III 'network_manager.cpp', 69*1bbe3d1eSWilliam A. Kennington III 'system_configuration.cpp', 70*1bbe3d1eSWilliam A. Kennington III 'util.cpp', 71*1bbe3d1eSWilliam A. Kennington III 'routing_table.cpp', 72*1bbe3d1eSWilliam A. Kennington III 'config_parser.cpp', 73*1bbe3d1eSWilliam A. Kennington III 'dhcp_configuration.cpp', 74*1bbe3d1eSWilliam A. Kennington III 'vlan_interface.cpp', 75*1bbe3d1eSWilliam A. Kennington III 'rtnetlink_server.cpp', 76*1bbe3d1eSWilliam A. Kennington III 'dns_updater.cpp', 77*1bbe3d1eSWilliam A. Kennington III 'watch.cpp', 78*1bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 79*1bbe3d1eSWilliam A. Kennington III include_directories: networkd_includes, 80*1bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps) 81*1bbe3d1eSWilliam A. Kennington III 82*1bbe3d1eSWilliam A. Kennington IIInetworkd_dep = declare_dependency( 83*1bbe3d1eSWilliam A. Kennington III sources: networkd_generated, 84*1bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps, 85*1bbe3d1eSWilliam A. Kennington III include_directories: networkd_includes, 86*1bbe3d1eSWilliam A. Kennington III link_with: networkd_lib) 87*1bbe3d1eSWilliam A. Kennington III 88*1bbe3d1eSWilliam A. Kennington IIIexecutable( 89*1bbe3d1eSWilliam A. Kennington III 'phosphor-network-manager', 90*1bbe3d1eSWilliam A. Kennington III 'network_manager_main.cpp', 91*1bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 92*1bbe3d1eSWilliam A. Kennington III dependencies: networkd_dep, 93*1bbe3d1eSWilliam A. Kennington III install: true, 94*1bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 95