1# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("../../adapter/common/bus_center/bus_center_adapter.gni")
15import("../../adapter/common/net/hdi/net_hdi.gni")
16import("../../adapter/common/net/wifi/net_wifi.gni")
17import("../../core/adapter/core_adapter.gni")
18import("../../core/bus_center/lnn/decision_center/decision_center.gni")
19import("../../core/bus_center/lnn/disc_mgr/bus_center_disc_mgr.gni")
20import("../../core/bus_center/lnn/lane_hub/lane_hub.gni")
21import("../../core/bus_center/lnn/net_builder/net_builder.gni")
22import("../../core/bus_center/lnn/net_buscenter/net_manager.gni")
23import("../../core/bus_center/lnn/net_ledger/net_ledger.gni")
24import("../../core/bus_center/monitor/bus_center_monitor.gni")
25import("../../core/bus_center/utils/bus_center_utils.gni")
26
27bus_center_server_src =
28    bus_center_adapter_src + bus_center_core_adapter_src +
29    bus_center_disc_mgr_src + bus_center_hub_src + bus_center_builder_src +
30    bus_center_net_mgr_src + bus_center_ledger_src + bus_center_monitor_src +
31    bus_center_utils_src + adapter_wifi_src + adapter_hdi_src +
32    bus_center_decision_center_src
33bus_center_server_inc =
34    bus_center_adapter_inc + bus_center_core_adapter_inc +
35    bus_center_disc_mgr_inc + bus_center_hub_inc + bus_center_builder_inc +
36    bus_center_net_mgr_inc + bus_center_ledger_inc + bus_center_monitor_inc +
37    bus_center_utils_inc + adapter_wifi_inc + adapter_hdi_inc +
38    bus_center_decision_center_inc
39bus_center_server_deps =
40    bus_center_adapter_deps + bus_center_core_adapter_deps +
41    bus_center_disc_mgr_deps + bus_center_hub_deps + bus_center_builder_deps +
42    bus_center_net_mgr_deps + bus_center_ledger_deps + bus_center_monitor_deps +
43    bus_center_utils_deps + bus_center_decision_center_deps
44
45bus_center_server_src += [
46  "$dsoftbus_root_path/core/bus_center/service/src/bus_center_manager.c",
47  "$dsoftbus_root_path/core/bus_center/service/src/bus_center_event.c",
48  "$dsoftbus_root_path/core/bus_center/service/src/bus_center_decision_center.c",
49]
50
51bus_center_server_inc += [
52  "$dsoftbus_root_path/core/bus_center/interface",
53  "$dsoftbus_root_path/core/bus_center/ipc/include",
54  "$dsoftbus_root_path/core/bus_center/service/include",
55  "$dsoftbus_root_path/sdk/bus_center/manager/include",
56  "$softbus_adapter_common/dfx/include",
57]
58
59bus_center_server_external_deps = []
60
61if (defined(global_parts_info) && defined(global_parts_info.hicollie)) {
62  bus_center_server_src +=
63      [ "$softbus_adapter_common/dfx/softbus_adapter_xcollie.cpp" ]
64  bus_center_server_external_deps += [ "hicollie:libhicollie" ]
65} else {
66  bus_center_server_src +=
67      [ "$softbus_adapter_common/dfx/softbus_adapter_xcollie_virtual.cpp" ]
68}
69
70if (defined(ohos_lite)) {
71  if (ohos_kernel_type == "liteos_m") {
72    bus_center_server_src +=
73        [ "$dsoftbus_root_path/core/bus_center/ipc/mini/lnn_bus_center_ipc.c" ]
74  } else {
75    bus_center_server_src += [
76      "$dsoftbus_root_path/core/bus_center/ipc/small/src/bus_center_client_proxy.c",
77      "$dsoftbus_root_path/core/bus_center/ipc/small/src/lnn_bus_center_ipc.c",
78    ]
79    bus_center_server_inc +=
80        [ "$dsoftbus_root_path/core/bus_center/ipc/small/include" ]
81    bus_center_server_deps += [
82      "//build/lite/config/component/cJSON:cjson_shared",
83      "//foundation/communication/ipc/interfaces/innerkits/c/ipc:ipc_single",
84    ]
85  }
86} else {
87  bus_center_server_src += [
88    "$dsoftbus_root_path/core/bus_center/ipc/$os_type/src/bus_center_client_proxy.cpp",
89    "$dsoftbus_root_path/core/bus_center/ipc/$os_type/src/bus_center_client_proxy_standard.cpp",
90    "$dsoftbus_root_path/core/bus_center/ipc/$os_type/src/lnn_bus_center_ipc.cpp",
91  ]
92  bus_center_server_inc += [
93    "$dsoftbus_root_path/core/bus_center/ipc/$os_type/include",
94    "$dsoftbus_root_path/sdk/frame/$os_type/include",
95  ]
96
97  if (dsoftbus_feature_ex_kits) {
98    import(
99        "$dsoftbus_root_path/dsoftbus_enhance/core/bus_center/extend/bus_center_ex.gni")
100
101    bus_center_server_inc += bus_center_ex_inc
102    bus_center_server_src += bus_center_ex_src
103  } else {
104    bus_center_server_inc +=
105        [ "$dsoftbus_root_path/core/bus_center/extend/include" ]
106    bus_center_server_src += [ "$dsoftbus_root_path/core/bus_center/extend/src/bus_center_ex_obj_stub.cpp" ]
107  }
108
109  bus_center_server_external_deps +=
110      bus_center_adapter_external_deps + bus_center_ledger_external_deps +
111      bus_center_core_adapter_external_deps + adapter_wifi_external_deps +
112      adapter_hdi_external_deps
113  bus_center_server_external_deps += [ "c_utils:utils" ]
114}
115
116native_source_path = rebase_path("$dsoftbus_root_path")
117agcr_dir = "dsoftbus_enhance/components/newip/agcr"
118agcr_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
119                            [
120                              "$native_source_path",
121                              "$agcr_dir",
122                            ],
123                            "value")
124
125if (agcr_enhanced) {
126  import("../../dsoftbus_enhance/components/newip/agcr/agcr.gni")
127
128  bus_center_server_src += agcr_src
129  bus_center_server_inc += agcr_inc
130}
131
132lnn_lp_dir = "dsoftbus_enhance/adapter/common/mlps/src"
133lnn_lp_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
134                              [
135                                "$native_source_path",
136                                "$lnn_lp_dir",
137                              ],
138                              "value")
139
140if (lnn_lp_enhanced) {
141  import("../../dsoftbus_enhance/adapter/common/mlps/adapter_mlps.gni")
142  bus_center_server_inc += adapter_mlps_inc
143  bus_center_server_src += adapter_mlps_src
144}
145
146lnn_lane_dir = "dsoftbus_enhance/core/bus_center/lnn/lane_hub/lane/src"
147lnn_lane_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
148                                [
149                                  "$native_source_path",
150                                  "$lnn_lane_dir",
151                                ],
152                                "value")
153
154if (lnn_lane_enhanced) {
155  import("../../dsoftbus_enhance/core/bus_center/lnn/lane_hub/lane/lane.gni")
156  bus_center_server_src += bus_center_lane_enhance_src
157  bus_center_server_external_deps += bus_center_lane_enhance_external_deps
158}
159
160route_dir = "dsoftbus_enhance/components/newip/route"
161route_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
162                             [
163                               "$native_source_path",
164                               "$route_dir",
165                             ],
166                             "value")
167
168if (route_enhanced) {
169  import("../../dsoftbus_enhance/components/newip/route/route.gni")
170
171  bus_center_server_src += route_src
172  bus_center_server_inc += route_inc
173}
174
175btn_dir = "dsoftbus_enhance/components/newip/btn"
176btn_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
177                           [
178                             "$native_source_path",
179                             "$btn_dir",
180                           ],
181                           "value")
182
183if (btn_enhanced) {
184  import("../../dsoftbus_enhance/components/newip/btn/btn.gni")
185
186  bus_center_server_src += btn_src
187  bus_center_server_inc += btn_inc
188}
189
190meta_node_dir = "dsoftbus_enhance/core/bus_center/lnn/meta_node"
191meta_node_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
192                                 [
193                                   "$native_source_path",
194                                   "$meta_node_dir",
195                                 ],
196                                 "value")
197
198if (meta_node_enhanced) {
199  import(
200      "//foundation/communication/dsoftbus/dsoftbus_enhance/core/bus_center/lnn/meta_node/meta_node.gni")
201
202  bus_center_server_src += bus_center_meta_node_src
203  bus_center_server_inc += bus_center_meta_node_inc
204} else {
205  import(
206      "//foundation/communication/dsoftbus/core/bus_center/lnn/meta_node/meta_node.gni")
207
208  bus_center_server_src += bus_center_meta_node_src
209  bus_center_server_inc += bus_center_meta_node_inc
210}
211
212native_source_path = rebase_path("$dsoftbus_root_path")
213dep_linkfinder = "dsoftbus_enhance/core/bus_center/adapter"
214lk_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
215                          [
216                            "$native_source_path",
217                            "$dep_linkfinder",
218                          ],
219                          "value")
220
221if (lk_enhanced) {
222  import("../../dsoftbus_enhance/core/bus_center/adapter/adapter.gni")
223
224  bus_center_server_src += lnn_link_finder_sources
225  bus_center_server_inc += lnn_link_finder_include_dirs
226  bus_center_server_deps += lnn_link_finder_deps
227} else {
228  bus_center_server_src += [
229    "$dsoftbus_root_path/core/adapter/bus_center/src/lnn_link_finder_virtul.c",
230  ]
231  bus_center_server_inc +=
232      [ "$dsoftbus_root_path/core/adapter/bus_center/include" ]
233}
234
235lnn_coap_dep_dir = "dsoftbus_enhance/core/bus_center/lnn/disc_mgr"
236lnn_disc_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
237                                [
238                                  "$native_source_path",
239                                  "$lnn_coap_dep_dir",
240                                ],
241                                "value")
242
243if (dsoftbus_feature_lnn_net && lnn_disc_enhanced) {
244  disc_mgr_enhance_path =
245      "$dsoftbus_root_path/dsoftbus_enhance/core/bus_center/lnn/disc_mgr"
246  bus_center_server_src += [ "$disc_mgr_enhance_path/src/lnn_coap_adapter.c" ]
247} else {
248  bus_center_server_src += [ "$dsoftbus_root_path/core/bus_center/lnn/disc_mgr/src/lnn_coap_adapter_virtual.c" ]
249}
250
251native_source_path = rebase_path("$dsoftbus_root_path")
252oobe_dir = "dsoftbus_enhance/adapter/common/oobe"
253oobe_enhanced = exec_script("$dsoftbus_root_path/check_sub_module.py",
254                            [
255                              "$native_source_path",
256                              "$oobe_dir",
257                            ],
258                            "value")
259
260if (!oobe_enhanced) {
261  bus_center_server_src += [ "$dsoftbus_root_path/core/adapter/bus_center/src/lnn_oobe_manager_virtual.cpp" ]
262  bus_center_server_inc +=
263      [ "$dsoftbus_root_path/core/adapter/bus_center/include" ]
264} else {
265  bus_center_server_src += [ "$dsoftbus_root_path/dsoftbus_enhance/adapter/common/oobe/lnn_oobe_manager.cpp" ]
266
267  bus_center_server_inc += [
268    "$dsoftbus_root_path/adapter/common/bus_center/include",
269    "$dsoftbus_root_path/core/adapter/bus_center/include",
270  ]
271}
272