xref: /openbmc/phosphor-networkd/src/meson.build (revision de70ccf6)
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