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