blob: b47b27cc893949d658d0402e32e1541dd3508870 [file] [log] [blame]
Willy Tuc710b972021-08-11 16:33:43 -07001user_channel_inc = include_directories('.')
2
3channellayer_pre = declare_dependency(
Willy Tuc710b972021-08-11 16:33:43 -07004 include_directories: [root_inc, user_channel_inc],
5 dependencies: [
Patrick Williams62ce1592025-02-03 14:12:56 -05006 crypto,
7 ipmid_dep,
8 libsystemd_dep,
9 nlohmann_json_dep,
10 phosphor_dbus_interfaces_dep,
11 phosphor_logging_dep,
12 ],
13)
Willy Tuc710b972021-08-11 16:33:43 -070014
Patrick Williams62ce1592025-02-03 14:12:56 -050015channellayer_src = ['channel_layer.cpp', 'channel_mgmt.cpp', 'cipher_mgmt.cpp']
Willy Tuc710b972021-08-11 16:33:43 -070016
Patrick Williams62ce1592025-02-03 14:12:56 -050017channellayer_lib = library(
18 'channellayer',
19 channellayer_src,
Willy Tuc710b972021-08-11 16:33:43 -070020 implicit_include_directories: false,
Patrick Williams62ce1592025-02-03 14:12:56 -050021 dependencies: channellayer_pre,
Willy Tuc710b972021-08-11 16:33:43 -070022 version: meson.project_version(),
23 install: true,
24 install_dir: get_option('libdir'),
Patrick Williams62ce1592025-02-03 14:12:56 -050025 override_options: ['b_lundef=false'],
26)
Willy Tuc710b972021-08-11 16:33:43 -070027
Patrick Williams62ce1592025-02-03 14:12:56 -050028channellayer_dep = declare_dependency(
29 link_with: channellayer_lib,
30 dependencies: channellayer_pre,
31)
Willy Tuc710b972021-08-11 16:33:43 -070032
Patrick Williams62ce1592025-02-03 14:12:56 -050033import('pkgconfig').generate(
34 channellayer_lib,
35 name: 'libchannellayer',
Willy Tuba9bbb62022-06-01 03:41:15 -070036 version: meson.project_version(),
Patrick Williams62ce1592025-02-03 14:12:56 -050037 description: 'libchannellayer',
38)
Willy Tuc710b972021-08-11 16:33:43 -070039
Patrick Williams62ce1592025-02-03 14:12:56 -050040if not get_option('libuserlayer').disabled()
41 userlayer_pre = declare_dependency(
42 include_directories: [root_inc, user_channel_inc],
43 dependencies: [
44 channellayer_dep,
45 crypto,
46 ipmid_dep,
47 libsystemd_dep,
48 nlohmann_json_dep,
49 pam,
50 phosphor_dbus_interfaces_dep,
51 phosphor_logging_dep,
52 ],
53 )
54
55 userlayer_src = ['user_layer.cpp', 'user_mgmt.cpp', 'passwd_mgr.cpp']
56
57 userlayer_lib = library(
58 'userlayer',
59 userlayer_src,
60 implicit_include_directories: false,
61 dependencies: userlayer_pre,
62 version: meson.project_version(),
63 install: true,
64 install_dir: get_option('libdir'),
65 override_options: ['b_lundef=false'],
66 )
67
68 userlayer_dep = declare_dependency(
69 link_with: userlayer_lib,
70 dependencies: userlayer_pre,
71 )
72
73 usercmds_pre = declare_dependency(
74 include_directories: [root_inc, user_channel_inc],
75 dependencies: [
76 phosphor_logging_dep,
77 ipmid_dep,
78 userlayer_dep,
79 channellayer_dep,
80 ],
81 )
82
83 usercmds_lib = library(
84 'usercmds',
85 'usercommands.cpp',
86 implicit_include_directories: false,
87 dependencies: usercmds_pre,
88 install: true,
89 install_dir: get_option('libdir') / 'ipmid-providers',
90 version: meson.project_version(),
91 override_options: ['b_lundef=false'],
92 )
93
94 import('pkgconfig').generate(
95 userlayer_lib,
96 name: 'libuserlayer',
97 version: meson.project_version(),
98 description: 'libuserlayer',
99 )
George Liu8d90f972022-07-04 15:16:33 +0800100
Willy Tuc710b972021-08-11 16:33:43 -0700101endif