11bbe3d1eSWilliam A. Kennington IIIsrc_includes = include_directories('.') 21bbe3d1eSWilliam A. Kennington III 3*e7c5aaadSWilliam A. Kennington IIIstdplus_dep = dependency('stdplus') 4a68ab4bbSWilliam A. Kennington III 51bbe3d1eSWilliam A. Kennington IIIexecutable( 61bbe3d1eSWilliam A. Kennington III 'ncsi-netlink', 71bbe3d1eSWilliam A. Kennington III 'argument.cpp', 81bbe3d1eSWilliam A. Kennington III 'ncsi_netlink_main.cpp', 91bbe3d1eSWilliam A. Kennington III 'ncsi_util.cpp', 101bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 111bbe3d1eSWilliam A. Kennington III include_directories: src_includes, 121bbe3d1eSWilliam A. Kennington III dependencies: [ 131bbe3d1eSWilliam A. Kennington III dependency('libnl-3.0'), 141bbe3d1eSWilliam A. Kennington III dependency('libnl-genl-3.0'), 15*e7c5aaadSWilliam A. Kennington III stdplus_dep, 161bbe3d1eSWilliam A. Kennington III ], 171bbe3d1eSWilliam A. Kennington III install: true, 181bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 191bbe3d1eSWilliam A. Kennington III 201bbe3d1eSWilliam A. Kennington IIIjson_dep = declare_dependency() 211bbe3d1eSWilliam A. Kennington IIIif get_option('sync-mac') 221bbe3d1eSWilliam A. Kennington III # nlohmann_json might not have a pkg-config. It is header only so just make 231bbe3d1eSWilliam A. Kennington III # sure we can access the needed symbols from the header. 241bbe3d1eSWilliam A. Kennington III has_json = meson.get_compiler('cpp').has_header_symbol( 251bbe3d1eSWilliam A. Kennington III 'nlohmann/json.hpp', 261bbe3d1eSWilliam A. Kennington III 'nlohmann::json::string_t', 271bbe3d1eSWilliam A. Kennington III required: false) 281bbe3d1eSWilliam A. Kennington III if not has_json 293397be3cSPatrick Williams json_dep = dependency('nlohmann_json') 301bbe3d1eSWilliam A. Kennington III endif 311bbe3d1eSWilliam A. Kennington IIIendif 321bbe3d1eSWilliam A. Kennington III 331bbe3d1eSWilliam A. Kennington IIInetworkd_deps = [ 341bbe3d1eSWilliam A. Kennington III json_dep, 351bbe3d1eSWilliam A. Kennington III phosphor_dbus_interfaces_dep, 36*e7c5aaadSWilliam A. Kennington III dependency('phosphor-logging'), 3737cf66c8SWilliam A. Kennington III networkd_dbus_dep, 381bbe3d1eSWilliam A. Kennington III sdbusplus_dep, 393397be3cSPatrick Williams dependency('sdeventplus'), 40*e7c5aaadSWilliam A. Kennington III stdplus_dep, 411bbe3d1eSWilliam A. Kennington III] 421bbe3d1eSWilliam A. Kennington III 431bbe3d1eSWilliam A. Kennington IIIconf_header = configure_file( 441bbe3d1eSWilliam A. Kennington III output: 'config.h', 451bbe3d1eSWilliam A. Kennington III configuration: conf_data) 461bbe3d1eSWilliam A. Kennington III 471bbe3d1eSWilliam A. Kennington IIInetworkd_lib = static_library( 481bbe3d1eSWilliam A. Kennington III 'networkd', 4937cf66c8SWilliam A. Kennington III conf_header, 501bbe3d1eSWilliam A. Kennington III 'ethernet_interface.cpp', 511bbe3d1eSWilliam A. Kennington III 'neighbor.cpp', 521bbe3d1eSWilliam A. Kennington III 'ipaddress.cpp', 531bbe3d1eSWilliam A. Kennington III 'netlink.cpp', 541bbe3d1eSWilliam A. Kennington III 'network_config.cpp', 551bbe3d1eSWilliam A. Kennington III 'network_manager.cpp', 561bbe3d1eSWilliam A. Kennington III 'system_configuration.cpp', 571bbe3d1eSWilliam A. Kennington III 'util.cpp', 581bbe3d1eSWilliam A. Kennington III 'routing_table.cpp', 591bbe3d1eSWilliam A. Kennington III 'config_parser.cpp', 601bbe3d1eSWilliam A. Kennington III 'dhcp_configuration.cpp', 611bbe3d1eSWilliam A. Kennington III 'vlan_interface.cpp', 621bbe3d1eSWilliam A. Kennington III 'rtnetlink_server.cpp', 631bbe3d1eSWilliam A. Kennington III 'dns_updater.cpp', 641bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 6537cf66c8SWilliam A. Kennington III include_directories: src_includes, 661bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps) 671bbe3d1eSWilliam A. Kennington III 681bbe3d1eSWilliam A. Kennington IIInetworkd_dep = declare_dependency( 6937cf66c8SWilliam A. Kennington III sources: conf_header, 701bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps, 7137cf66c8SWilliam A. Kennington III include_directories: src_includes, 721bbe3d1eSWilliam A. Kennington III link_with: networkd_lib) 731bbe3d1eSWilliam A. Kennington III 741bbe3d1eSWilliam A. Kennington IIIexecutable( 751bbe3d1eSWilliam A. Kennington III 'phosphor-network-manager', 761bbe3d1eSWilliam A. Kennington III 'network_manager_main.cpp', 771bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 781bbe3d1eSWilliam A. Kennington III dependencies: networkd_dep, 791bbe3d1eSWilliam A. Kennington III install: true, 801bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 81be2bdecbSAsmitha Karunanithi 82be2bdecbSAsmitha Karunanithiif (get_option('hyp-nw-config') == true) 83be2bdecbSAsmitha Karunanithi subdir('ibm') 84be2bdecbSAsmitha Karunanithiendif 85