1*3397be3cSPatrick Williamsphosphor_logging_dep = dependency('phosphor-logging') 21bbe3d1eSWilliam A. Kennington III 31bbe3d1eSWilliam A. Kennington IIIsrc_includes = include_directories('.') 41bbe3d1eSWilliam A. Kennington III 5a68ab4bbSWilliam A. Kennington IIIfmt_dep = dependency('fmt', required: false) 6a68ab4bbSWilliam A. Kennington IIIif not fmt_dep.found() 7a68ab4bbSWilliam A. Kennington III fmt_opts = import('cmake').subproject_options() 8a68ab4bbSWilliam A. Kennington III fmt_opts.add_cmake_defines({ 9a68ab4bbSWilliam A. Kennington III 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON', 10a68ab4bbSWilliam A. Kennington III 'MASTER_PROJECT': 'OFF', 11a68ab4bbSWilliam A. Kennington III }) 12a68ab4bbSWilliam A. Kennington III fmt_proj = import('cmake').subproject( 13a68ab4bbSWilliam A. Kennington III 'fmt', 14a68ab4bbSWilliam A. Kennington III options: fmt_opts, 15a68ab4bbSWilliam A. Kennington III required: false) 16a68ab4bbSWilliam A. Kennington III assert(fmt_proj.found(), 'fmtlib is required') 17a68ab4bbSWilliam A. Kennington III fmt_dep = fmt_proj.dependency('fmt') 18a68ab4bbSWilliam A. Kennington IIIendif 19a68ab4bbSWilliam A. Kennington III 201bbe3d1eSWilliam A. Kennington IIIexecutable( 211bbe3d1eSWilliam A. Kennington III 'ncsi-netlink', 221bbe3d1eSWilliam A. Kennington III 'argument.cpp', 231bbe3d1eSWilliam A. Kennington III 'ncsi_netlink_main.cpp', 241bbe3d1eSWilliam A. Kennington III 'ncsi_util.cpp', 251bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 261bbe3d1eSWilliam A. Kennington III include_directories: src_includes, 271bbe3d1eSWilliam A. Kennington III dependencies: [ 28a68ab4bbSWilliam A. Kennington III fmt_dep, 291bbe3d1eSWilliam A. Kennington III dependency('libnl-3.0'), 301bbe3d1eSWilliam A. Kennington III dependency('libnl-genl-3.0'), 311bbe3d1eSWilliam A. Kennington III phosphor_dbus_interfaces_dep, 321bbe3d1eSWilliam A. Kennington III phosphor_logging_dep, 331bbe3d1eSWilliam A. Kennington III ], 341bbe3d1eSWilliam A. Kennington III install: true, 351bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 361bbe3d1eSWilliam A. Kennington III 371bbe3d1eSWilliam A. Kennington IIIjson_dep = declare_dependency() 381bbe3d1eSWilliam A. Kennington IIIif get_option('sync-mac') 391bbe3d1eSWilliam A. Kennington III # nlohmann_json might not have a pkg-config. It is header only so just make 401bbe3d1eSWilliam A. Kennington III # sure we can access the needed symbols from the header. 411bbe3d1eSWilliam A. Kennington III has_json = meson.get_compiler('cpp').has_header_symbol( 421bbe3d1eSWilliam A. Kennington III 'nlohmann/json.hpp', 431bbe3d1eSWilliam A. Kennington III 'nlohmann::json::string_t', 441bbe3d1eSWilliam A. Kennington III required: false) 451bbe3d1eSWilliam A. Kennington III if not has_json 46*3397be3cSPatrick Williams json_dep = dependency('nlohmann_json') 471bbe3d1eSWilliam A. Kennington III endif 481bbe3d1eSWilliam A. Kennington IIIendif 491bbe3d1eSWilliam A. Kennington III 501bbe3d1eSWilliam A. Kennington IIInetworkd_deps = [ 511bbe3d1eSWilliam A. Kennington III json_dep, 521bbe3d1eSWilliam A. Kennington III phosphor_dbus_interfaces_dep, 531bbe3d1eSWilliam A. Kennington III phosphor_logging_dep, 5437cf66c8SWilliam A. Kennington III networkd_dbus_dep, 551bbe3d1eSWilliam A. Kennington III sdbusplus_dep, 56*3397be3cSPatrick Williams dependency('sdeventplus'), 57*3397be3cSPatrick Williams dependency('stdplus'), 581bbe3d1eSWilliam A. Kennington III] 591bbe3d1eSWilliam A. Kennington III 601bbe3d1eSWilliam A. Kennington IIIconf_header = configure_file( 611bbe3d1eSWilliam A. Kennington III output: 'config.h', 621bbe3d1eSWilliam A. Kennington III configuration: conf_data) 631bbe3d1eSWilliam A. Kennington III 641bbe3d1eSWilliam A. Kennington IIInetworkd_lib = static_library( 651bbe3d1eSWilliam A. Kennington III 'networkd', 6637cf66c8SWilliam A. Kennington III conf_header, 671bbe3d1eSWilliam A. Kennington III 'ethernet_interface.cpp', 681bbe3d1eSWilliam A. Kennington III 'neighbor.cpp', 691bbe3d1eSWilliam A. Kennington III 'ipaddress.cpp', 701bbe3d1eSWilliam A. Kennington III 'netlink.cpp', 711bbe3d1eSWilliam A. Kennington III 'network_config.cpp', 721bbe3d1eSWilliam A. Kennington III 'network_manager.cpp', 731bbe3d1eSWilliam A. Kennington III 'system_configuration.cpp', 741bbe3d1eSWilliam A. Kennington III 'util.cpp', 751bbe3d1eSWilliam A. Kennington III 'routing_table.cpp', 761bbe3d1eSWilliam A. Kennington III 'config_parser.cpp', 771bbe3d1eSWilliam A. Kennington III 'dhcp_configuration.cpp', 781bbe3d1eSWilliam A. Kennington III 'vlan_interface.cpp', 791bbe3d1eSWilliam A. Kennington III 'rtnetlink_server.cpp', 801bbe3d1eSWilliam A. Kennington III 'dns_updater.cpp', 811bbe3d1eSWilliam A. Kennington III 'watch.cpp', 821bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 8337cf66c8SWilliam A. Kennington III include_directories: src_includes, 841bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps) 851bbe3d1eSWilliam A. Kennington III 861bbe3d1eSWilliam A. Kennington IIInetworkd_dep = declare_dependency( 8737cf66c8SWilliam A. Kennington III sources: conf_header, 881bbe3d1eSWilliam A. Kennington III dependencies: networkd_deps, 8937cf66c8SWilliam A. Kennington III include_directories: src_includes, 901bbe3d1eSWilliam A. Kennington III link_with: networkd_lib) 911bbe3d1eSWilliam A. Kennington III 921bbe3d1eSWilliam A. Kennington IIIexecutable( 931bbe3d1eSWilliam A. Kennington III 'phosphor-network-manager', 941bbe3d1eSWilliam A. Kennington III 'network_manager_main.cpp', 951bbe3d1eSWilliam A. Kennington III implicit_include_directories: false, 961bbe3d1eSWilliam A. Kennington III dependencies: networkd_dep, 971bbe3d1eSWilliam A. Kennington III install: true, 981bbe3d1eSWilliam A. Kennington III install_dir: get_option('bindir')) 99be2bdecbSAsmitha Karunanithi 100be2bdecbSAsmitha Karunanithiif (get_option('hyp-nw-config') == true) 101be2bdecbSAsmitha Karunanithi subdir('ibm') 102be2bdecbSAsmitha Karunanithiendif 103