meson.build (1e710d04a61092b45ff4ccd58656cb5cee3cba5b) | meson.build (1bbe3d1e3bce52044874294e353e80af9ee706a2) |
---|---|
1project( 2 'phosphor-networkd', 3 'cpp', 4 version: '0.1', 5 meson_version: '>=0.57.0', 6 default_options: [ 7 'warning_level=3', 8 'cpp_std=c++20', --- 7 unchanged lines hidden (view full) --- 16conf_data.set( 17 'LINK_LOCAL_AUTOCONFIGURATION', 18 get_option('default-link-local-autoconf')) 19conf_data.set( 20 'ENABLE_IPV6_ACCEPT_RA', 21 get_option('default-ipv6-accept-ra')) 22conf_data.set('NIC_SUPPORTS_ETHTOOL', get_option('nic-ethtool')) 23conf_data.set('SYNC_MAC_FROM_INVENTORY', get_option('sync-mac')) | 1project( 2 'phosphor-networkd', 3 'cpp', 4 version: '0.1', 5 meson_version: '>=0.57.0', 6 default_options: [ 7 'warning_level=3', 8 'cpp_std=c++20', --- 7 unchanged lines hidden (view full) --- 16conf_data.set( 17 'LINK_LOCAL_AUTOCONFIGURATION', 18 get_option('default-link-local-autoconf')) 19conf_data.set( 20 'ENABLE_IPV6_ACCEPT_RA', 21 get_option('default-ipv6-accept-ra')) 22conf_data.set('NIC_SUPPORTS_ETHTOOL', get_option('nic-ethtool')) 23conf_data.set('SYNC_MAC_FROM_INVENTORY', get_option('sync-mac')) |
24conf_header = configure_file( 25 output: 'config.h', 26 configuration: conf_data) | |
27 28sdbusplus_dep = dependency('sdbusplus', required: false) 29if sdbusplus_dep.found() 30 sdbusplusplus_prog = find_program('sdbus++', native: true) 31 sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true) 32else 33 sdbusplus_proj = subproject('sdbusplus', required: true) 34 sdbusplus_dep = sdbusplus_proj.get_variable('sdbusplus_dep') 35 sdbusplusplus_prog = sdbusplus_proj.get_variable('sdbusplusplus_prog') 36 sdbuspp_gen_meson_prog = sdbusplus_proj.get_variable('sdbuspp_gen_meson_prog') 37endif 38 | 24 25sdbusplus_dep = dependency('sdbusplus', required: false) 26if sdbusplus_dep.found() 27 sdbusplusplus_prog = find_program('sdbus++', native: true) 28 sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true) 29else 30 sdbusplus_proj = subproject('sdbusplus', required: true) 31 sdbusplus_dep = sdbusplus_proj.get_variable('sdbusplus_dep') 32 sdbusplusplus_prog = sdbusplus_proj.get_variable('sdbusplusplus_prog') 33 sdbuspp_gen_meson_prog = sdbusplus_proj.get_variable('sdbuspp_gen_meson_prog') 34endif 35 |
39phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 40phosphor_logging_dep = dependency('phosphor-logging') 41 42generated_sources = [ conf_header ] | 36generated_sources = [] |
43generated_others = [] 44yaml_sources = [] 45subdir('gen') 46subdir('gen/xyz') | 37generated_others = [] 38yaml_sources = [] 39subdir('gen') 40subdir('gen/xyz') |
41generated_includes = include_directories('gen') |
|
47 | 42 |
48networkd_headers = include_directories('.', 'gen') | 43subdir('src') |
49 | 44 |
50executable( 51 'ncsi-netlink', 52 'argument.cpp', 53 'ncsi_netlink_main.cpp', 54 'ncsi_util.cpp', 55 implicit_include_directories: false, 56 include_directories: networkd_headers, 57 dependencies: [ 58 dependency('libnl-3.0'), 59 dependency('libnl-genl-3.0'), 60 phosphor_dbus_interfaces_dep, 61 phosphor_logging_dep, 62 ], 63 install: true, 64 install_dir: get_option('bindir')) 65 66json_dep = declare_dependency() 67if get_option('sync-mac') 68 # nlohmann_json might not have a pkg-config. It is header only so just make 69 # sure we can access the needed symbols from the header. 70 has_json = meson.get_compiler('cpp').has_header_symbol( 71 'nlohmann/json.hpp', 72 'nlohmann::json::string_t', 73 required: false) 74 if not has_json 75 json_dep = dependency( 76 'nlohmann_json', 77 fallback: ['nlohmann_json', 'nlohmann_json_dep'], 78 required: true) 79 endif 80endif 81 82networkd_deps = [ 83 json_dep, 84 phosphor_dbus_interfaces_dep, 85 phosphor_logging_dep, 86 sdbusplus_dep, 87 dependency('sdeventplus', fallback: ['sdeventplus', 'sdeventplus_dep']), 88 dependency('stdplus', fallback: ['stdplus', 'stdplus_dep']), 89] 90 91networkd_lib = static_library( 92 'networkd', 93 generated_sources, 94 'ethernet_interface.cpp', 95 'neighbor.cpp', 96 'ipaddress.cpp', 97 'netlink.cpp', 98 'network_config.cpp', 99 'network_manager.cpp', 100 'system_configuration.cpp', 101 'util.cpp', 102 'routing_table.cpp', 103 'config_parser.cpp', 104 'dhcp_configuration.cpp', 105 'vlan_interface.cpp', 106 'rtnetlink_server.cpp', 107 'dns_updater.cpp', 108 'watch.cpp', 109 implicit_include_directories: false, 110 include_directories: networkd_headers, 111 dependencies: networkd_deps) 112 113networkd_dep = declare_dependency( 114 sources: generated_sources, 115 dependencies: networkd_deps, 116 include_directories: networkd_headers, 117 link_with: networkd_lib) 118 119executable( 120 'phosphor-network-manager', 121 'network_manager_main.cpp', 122 implicit_include_directories: false, 123 dependencies: networkd_dep, 124 install: true, 125 install_dir: get_option('bindir')) 126 | |
127configure_file( 128 input: 'xyz.openbmc_project.Network.service.in', 129 output: 'xyz.openbmc_project.Network.service', 130 configuration: { 131 'SYSTEMD_TARGET': 'multi-user.target', 132 'DEFAULT_BUSNAME': default_busname, 133 }, 134 install: true, --- 13 unchanged lines hidden --- | 45configure_file( 46 input: 'xyz.openbmc_project.Network.service.in', 47 output: 'xyz.openbmc_project.Network.service', 48 configuration: { 49 'SYSTEMD_TARGET': 'multi-user.target', 50 'DEFAULT_BUSNAME': default_busname, 51 }, 52 install: true, --- 13 unchanged lines hidden --- |