blob: 7712b913c90b3e6cd67da866cf157d8e016bf0c0 [file] [log] [blame]
William A. Kennington III1bbe3d12021-05-13 23:45:09 -07001src_includes = include_directories('.')
2
William A. Kennington IIIe7c5aaa2022-10-06 13:17:15 -07003stdplus_dep = dependency('stdplus')
William A. Kennington IIIa68ab4b2021-10-07 19:16:16 -07004
William A. Kennington III1bbe3d12021-05-13 23:45:09 -07005executable(
Patrick Williams297a63b2025-03-03 11:07:57 -05006 '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)
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070021
Jeremy Kerrbad17c02024-11-21 16:44:39 +080022executable(
Patrick Williams297a63b2025-03-03 11:07:57 -050023 '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)
Jeremy Kerrbad17c02024-11-21 16:44:39 +080037
William A. Kennington III0b111d42022-10-04 18:06:11 -070038main_deps = []
39main_srcs = []
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070040if get_option('sync-mac')
Patrick Williams297a63b2025-03-03 11:07:57 -050041 main_srcs += ['inventory_mac.cpp']
42 main_deps += [dependency('nlohmann_json', include_type: 'system')]
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070043endif
44
45networkd_deps = [
Patrick Williams297a63b2025-03-03 11:07:57 -050046 phosphor_dbus_interfaces_dep,
47 dependency('phosphor-logging'),
48 networkd_dbus_dep,
49 sdbusplus_dep,
50 stdplus_dep,
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070051]
52
Patrick Williams297a63b2025-03-03 11:07:57 -050053conf_header = configure_file(output: 'config.h', configuration: conf_data)
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070054
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070055networkd_lib = static_library(
Patrick Williams297a63b2025-03-03 11:07:57 -050056 '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)
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070076
77networkd_dep = declare_dependency(
Patrick Williams297a63b2025-03-03 11:07:57 -050078 sources: conf_header,
79 dependencies: networkd_deps,
80 include_directories: src_includes,
81 link_with: networkd_lib,
82)
William A. Kennington III1bbe3d12021-05-13 23:45:09 -070083
84executable(
Patrick Williams297a63b2025-03-03 11:07:57 -050085 '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)
Asmitha Karunanithibe2bdec2021-05-13 02:54:29 -050094
95if (get_option('hyp-nw-config') == true)
Patrick Williams297a63b2025-03-03 11:07:57 -050096 subdir('ibm')
Asmitha Karunanithibe2bdec2021-05-13 02:54:29 -050097endif