1src_includes = include_directories('.') 2 3stdplus_dep = dependency('stdplus') 4 5executable( 6 'ncsi-netlink', 7 'argument.cpp', 8 'ncsi_netlink_main.cpp', 9 'ncsi_util.cpp', 10 implicit_include_directories: false, 11 include_directories: src_includes, 12 dependencies: [ 13 dependency('libnl-3.0'), 14 dependency('libnl-genl-3.0'), 15 stdplus_dep, 16 ], 17 install: true, 18 install_dir: get_option('bindir')) 19 20main_deps = [] 21main_srcs = [] 22if get_option('sync-mac') 23 main_srcs += [ 24 'inventory_mac.cpp', 25 ] 26 # nlohmann_json might not have a pkg-config. It is header only so just make 27 # sure we can access the needed symbols from the header. 28 main_deps += [ 29 dependency('nlohmann_json', allow_fallback: true, required: false), 30 ] 31endif 32 33networkd_deps = [ 34 phosphor_dbus_interfaces_dep, 35 dependency('phosphor-logging'), 36 networkd_dbus_dep, 37 sdbusplus_dep, 38 stdplus_dep, 39] 40 41conf_header = configure_file( 42 output: 'config.h', 43 configuration: conf_data) 44 45networkd_lib = static_library( 46 'networkd', 47 conf_header, 48 'ethernet_interface.cpp', 49 'neighbor.cpp', 50 'ipaddress.cpp', 51 'netlink.cpp', 52 'network_manager.cpp', 53 'rtnetlink.cpp', 54 'system_configuration.cpp', 55 'system_queries.cpp', 56 'types.cpp', 57 'util.cpp', 58 'config_parser.cpp', 59 'dhcp_configuration.cpp', 60 'dns_updater.cpp', 61 implicit_include_directories: false, 62 include_directories: src_includes, 63 dependencies: networkd_deps) 64 65networkd_dep = declare_dependency( 66 sources: conf_header, 67 dependencies: networkd_deps, 68 include_directories: src_includes, 69 link_with: networkd_lib) 70 71executable( 72 'phosphor-network-manager', 73 'network_manager_main.cpp', 74 'rtnetlink_server.cpp', 75 main_srcs, 76 implicit_include_directories: false, 77 dependencies: main_deps + [ 78 networkd_dep, 79 dependency('sdeventplus'), 80 ], 81 install: true, 82 install_dir: get_option('bindir')) 83 84if (get_option('hyp-nw-config') == true) 85 subdir('ibm') 86endif 87