xref: /openbmc/phosphor-networkd/src/meson.build (revision 1f0052f8)
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    dependency('phosphor-logging'),
16    stdplus_dep,
17  ],
18  install: true,
19  install_dir: get_option('bindir'))
20
21main_deps = []
22main_srcs = []
23if get_option('sync-mac')
24  main_srcs += [
25    'inventory_mac.cpp',
26  ]
27  main_deps += [
28    dependency('nlohmann_json', include_type: 'system')
29  ]
30endif
31
32networkd_deps = [
33  phosphor_dbus_interfaces_dep,
34  dependency('phosphor-logging'),
35  networkd_dbus_dep,
36  sdbusplus_dep,
37  stdplus_dep,
38]
39
40conf_header = configure_file(
41  output: 'config.h',
42  configuration: conf_data)
43
44networkd_lib = static_library(
45  'networkd',
46  conf_header,
47  'ethernet_interface.cpp',
48  'neighbor.cpp',
49  'ipaddress.cpp',
50  'netlink.cpp',
51  'network_manager.cpp',
52  'rtnetlink.cpp',
53  'system_configuration.cpp',
54  'system_queries.cpp',
55  'types.cpp',
56  'util.cpp',
57  'config_parser.cpp',
58  'dhcp_configuration.cpp',
59  'dns_updater.cpp',
60  implicit_include_directories: false,
61  include_directories: src_includes,
62  dependencies: networkd_deps)
63
64networkd_dep = declare_dependency(
65  sources: conf_header,
66  dependencies: networkd_deps,
67  include_directories: src_includes,
68  link_with: networkd_lib)
69
70executable(
71  'phosphor-network-manager',
72  'network_manager_main.cpp',
73  'rtnetlink_server.cpp',
74  main_srcs,
75  implicit_include_directories: false,
76  dependencies: main_deps + [
77    networkd_dep,
78    dependency('sdeventplus'),
79  ],
80  install: true,
81  install_dir: get_option('bindir'))
82
83if (get_option('hyp-nw-config') == true)
84  subdir('ibm')
85endif
86