• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2023-2025 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("//build/ohos.gni")
15import("../../../core/connection/ble/conn_ble.gni")
16import("../../../core/connection/br/conn_br.gni")
17import("../../../core/connection/general/general_connection.gni")
18import("../../../core/connection/tcp/conn_tcp.gni")
19import("../../../dsoftbus.gni")
20
21config("wifi_direct_interface") {
22  include_dirs = [
23    "$dsoftbus_root_path/core/connection/wifi_direct_cpp",
24    "$dsoftbus_root_path/core/connection/wifi_direct_cpp/adapter",
25    "$dsoftbus_root_path/core/connection/wifi_direct_cpp/command",
26    "$dsoftbus_root_path/core/connection/wifi_direct_cpp/data",
27    "$dsoftbus_root_path/core/connection/wifi_direct_cpp/protocol",
28    "$dsoftbus_root_path/core/connection/wifi_direct_cpp/utils",
29    "$dsoftbus_root_path/interfaces/kits/transport",
30  ]
31}
32
33if (!softbus_config_enhance && defined(ohos_lite)) {
34  if (ohos_kernel_type == "liteos_m") {
35    ohos_static_library("wifi_direct") {
36      defines += [ "__STDC_FORMAT_MACROS" ]
37      if (is_asan) {
38        defines += [ "ASAN_BUILD" ]
39      }
40      deps = [
41        "$dsoftbus_root_path/adapter:softbus_adapter",
42        "$dsoftbus_root_path/core/common:softbus_utils",
43        "$dsoftbus_root_path/dfx:softbus_dfx",
44      ]
45      public_configs = [ ":wifi_direct_interface" ]
46
47      wifi_direct_path = "$dsoftbus_root_path/core/connection/wifi_direct_cpp"
48      wifi_direct_connection_src = []
49
50      wifi_direct_connection_inc = [
51        "$dsoftbus_dfx_path/interface/include",
52        "$dsoftbus_dfx_path/interface/include/form",
53        "$dsoftbus_root_path/adapter/common/include",
54        "$dsoftbus_root_path/adapter/common/net/wifi/include",
55        "$dsoftbus_root_path/core/adapter/authentication/include",
56        "$dsoftbus_root_path/core/adapter/bus_center/include",
57        "$dsoftbus_root_path/core/authentication/include",
58        "$dsoftbus_root_path/core/authentication/interface",
59        "$dsoftbus_root_path/core/bus_center/interface",
60        "$dsoftbus_root_path/core/bus_center/lnn/interface/common",
61        "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/heartbeat/include",
62        "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include",
63        "$dsoftbus_root_path/core/bus_center/lnn/net_builder/include",
64        "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/common/include",
65        "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/distributed_ledger/include",
66        "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/local_ledger/include",
67        "$dsoftbus_root_path/core/bus_center/service/include",
68        "$dsoftbus_root_path/core/bus_center/utils/include/",
69        "$dsoftbus_root_path/core/common/include",
70        "$dsoftbus_root_path/core/connection/interface",
71        "$dsoftbus_root_path/core/connection/manager",
72        "$dsoftbus_root_path/core/connection/wifi_direct_cpp",
73        "$dsoftbus_root_path/core/connection/wifi_direct_cpp/dbinder",
74        "$dsoftbus_root_path/core/discovery/interface",
75        "$dsoftbus_root_path/core/discovery/manager/include",
76        "$dsoftbus_root_path/core/frame/init/include",
77        "$dsoftbus_root_path/core/transmission/trans_channel/proxy/include",
78        "$dsoftbus_root_path/interfaces/inner_kits/lnn",
79        "$dsoftbus_root_path/interfaces/inner_kits/transport",
80        "$dsoftbus_root_path/interfaces/kits/adapter",
81        "$dsoftbus_root_path/interfaces/kits/authentication",
82        "$dsoftbus_root_path/interfaces/kits/authentication/enhance",
83        "$dsoftbus_root_path/interfaces/kits/bus_center",
84        "$dsoftbus_root_path/interfaces/kits/common",
85        "$dsoftbus_root_path/interfaces/kits/connect",
86        "$dsoftbus_root_path/interfaces/kits/disc",
87        "$dsoftbus_root_path/interfaces/kits/discovery",
88        "$dsoftbus_root_path/interfaces/kits/lnn",
89        "$dsoftbus_root_path/interfaces/kits/lnn/enhance",
90        "$dsoftbus_root_path/interfaces/kits/transport",
91      ]
92
93      wifi_direct_connection_external_deps = []
94
95      if (dsoftbus_feature_conn_pv1 == true &&
96          softbus_communication_wifi_feature == true &&
97          dsoftbus_feature_conn_tcp_comm == true) {
98        wifi_direct_connection_src += [
99          "$wifi_direct_path/adapter/p2p_adapter.cpp",
100          "$wifi_direct_path/channel/auth_negotiate_channel.cpp",
101          "$wifi_direct_path/channel/proxy_negotiate_channel.cpp",
102          "$wifi_direct_path/channel/dummy_negotiate_channel.cpp",
103          "$wifi_direct_path/command/connect_command.cpp",
104          "$wifi_direct_path/command/command_factory.cpp",
105          "$wifi_direct_path/command/disconnect_command.cpp",
106          "$wifi_direct_path/command/force_disconnect_command.cpp",
107          "$wifi_direct_path/command/negotiate_command.cpp",
108          "$wifi_direct_path/command/processor_selector_factory.cpp",
109          "$wifi_direct_path/command/simple_processor_selector.cpp",
110          "$wifi_direct_path/data/inner_link.cpp",
111          "$wifi_direct_path/data/interface_info.cpp",
112          "$wifi_direct_path/data/interface_manager.cpp",
113          "$wifi_direct_path/data/ipv4_info.cpp",
114          "$wifi_direct_path/data/link_info.cpp",
115          "$wifi_direct_path/data/link_manager.cpp",
116          "$wifi_direct_path/data/negotiate_message.cpp",
117          "$wifi_direct_path/data/wifi_config_info.cpp",
118          "$wifi_direct_path/dfx/duration_statistic.cpp",
119          "$wifi_direct_path/dfx/interface_snapshot.cpp",
120          "$wifi_direct_path/dfx/link_snapshot.cpp",
121          "$wifi_direct_path/dfx/p2p_entity_snapshot.cpp",
122          "$wifi_direct_path/dfx/processor_snapshot.cpp",
123          "$wifi_direct_path/dfx/wifi_direct_trace.cpp",
124          "$wifi_direct_path/dfx/wifi_direct_dfx.cpp",
125          "$wifi_direct_path/dfx/wifi_direct_hidumper.cpp",
126          "$wifi_direct_path/event/wifi_direct_event_dispatcher.cpp",
127          "$wifi_direct_path/entity/p2p_available_state.cpp",
128          "$wifi_direct_path/entity/p2p_connect_state.cpp",
129          "$wifi_direct_path/entity/p2p_create_group_state.cpp",
130          "$wifi_direct_path/entity/p2p_destroy_group_state.cpp",
131          "$wifi_direct_path/entity/p2p_entity.cpp",
132          "$wifi_direct_path/entity/p2p_entity_state.cpp",
133          "$wifi_direct_path/entity/p2p_unavailable_state.cpp",
134          "$wifi_direct_path/entity/p2p_broadcast_receiver.cpp",
135          "$wifi_direct_path/processor/p2p_v1_processor.cpp",
136          "$wifi_direct_path/processor/null_processor.cpp",
137          "$wifi_direct_path/protocol/json_protocol.cpp",
138          "$wifi_direct_path/protocol/tlv_protocol.cpp",
139          "$wifi_direct_path/utils/wifi_direct_anonymous.cpp",
140          "$wifi_direct_path/utils/wifi_direct_utils.cpp",
141          "$dsoftbus_root_path/core/frame/common/src/softbus_init_common.c",
142          "$wifi_direct_path/wifi_direct_executor.cpp",
143          "$wifi_direct_path/wifi_direct_executor_manager.cpp",
144          "$wifi_direct_path/wifi_direct_initiator.cpp",
145          "$wifi_direct_path/wifi_direct_ip_manager.cpp",
146          "$wifi_direct_path/wifi_direct_manager.cpp",
147          "$wifi_direct_path/wifi_direct_role_option.cpp",
148          "$wifi_direct_path/wifi_direct_scheduler.cpp",
149          "$wifi_direct_path/dbinder/wifi_direct_init.cpp",
150          "$wifi_direct_path/wifi_direct_executor_factory.cpp",
151          "$wifi_direct_path/wifi_direct_scheduler_factory.cpp",
152          "$wifi_direct_path/entity/entity_factory.cpp",
153        ]
154
155        wifi_direct_connection_external_deps += [
156          "bounds_checking_function:libsec_shared",
157          "cJSON:cjson",
158          "c_utils:utils",
159          "hilog:libhilog",
160          "hitrace:libhitracechain",
161          "init:libbegetutil",
162          "json:nlohmann_json_static",
163          "netmanager_base:net_conn_manager_if",
164          "samgr:samgr_proxy",
165          "wifi:wifi_sdk",
166        ]
167
168        remove_configs = [
169          "//build/config/compiler:no_rtti",
170          "//build/config/compiler:no_exceptions",
171        ]
172
173        configs = [
174          "//build/config/compiler:rtti",
175          "//build/config/compiler:exceptions",
176        ]
177      } else {
178        wifi_direct_connection_src +=
179            [ "$wifi_direct_path/wifi_direct_manager_virtual.c" ]
180      }
181
182      include_dirs = wifi_direct_connection_inc
183      sources = wifi_direct_connection_src
184      external_deps = wifi_direct_connection_external_deps
185
186      part_name = "dsoftbus"
187      subsystem_name = "communication"
188    }
189  } else {
190    ohos_shared_library("wifi_direct") {
191      defines += [ "__STDC_FORMAT_MACROS" ]
192      if (is_asan) {
193        defines += [ "ASAN_BUILD" ]
194      }
195      deps = [
196        "$dsoftbus_root_path/adapter:softbus_adapter",
197        "$dsoftbus_root_path/core/common:softbus_utils",
198        "$dsoftbus_root_path/dfx:softbus_dfx",
199      ]
200      public_configs = [ ":wifi_direct_interface" ]
201
202      wifi_direct_path = "$dsoftbus_root_path/core/connection/wifi_direct_cpp"
203      wifi_direct_connection_src = []
204
205      wifi_direct_connection_inc = [
206        "$dsoftbus_dfx_path/interface/include",
207        "$dsoftbus_dfx_path/interface/include/form",
208        "$dsoftbus_root_path/adapter/common/include",
209        "$dsoftbus_root_path/adapter/common/net/wifi/include",
210        "$dsoftbus_root_path/core/adapter/authentication/include",
211        "$dsoftbus_root_path/core/adapter/bus_center/include",
212        "$dsoftbus_root_path/core/authentication/include",
213        "$dsoftbus_root_path/core/authentication/interface",
214        "$dsoftbus_root_path/core/bus_center/interface",
215        "$dsoftbus_root_path/core/bus_center/lnn/interface/common",
216        "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/heartbeat/include",
217        "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include",
218        "$dsoftbus_root_path/core/bus_center/lnn/net_builder/include",
219        "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/common/include",
220        "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/distributed_ledger/include",
221        "$dsoftbus_root_path/core/bus_center/service/include",
222        "$dsoftbus_root_path/core/bus_center/utils/include/",
223        "$dsoftbus_root_path/core/common/include",
224        "$dsoftbus_root_path/core/connection/interface",
225        "$dsoftbus_root_path/core/connection/manager",
226        "$dsoftbus_root_path/core/connection/wifi_direct_cpp",
227        "$dsoftbus_root_path/core/connection/wifi_direct_cpp/dbinder",
228        "$dsoftbus_root_path/core/discovery/interface",
229        "$dsoftbus_root_path/core/discovery/manager/include",
230        "$dsoftbus_root_path/core/frame/init/include",
231        "$dsoftbus_root_path/core/transmission/trans_channel/proxy/include",
232        "$dsoftbus_root_path/interfaces/inner_kits/lnn",
233        "$dsoftbus_root_path/interfaces/inner_kits/transport",
234        "$dsoftbus_root_path/interfaces/kits/adapter",
235        "$dsoftbus_root_path/interfaces/kits/authentication",
236        "$dsoftbus_root_path/interfaces/kits/authentication/enhance",
237        "$dsoftbus_root_path/interfaces/kits/bus_center",
238        "$dsoftbus_root_path/interfaces/kits/common",
239        "$dsoftbus_root_path/interfaces/kits/connect",
240        "$dsoftbus_root_path/interfaces/kits/disc",
241        "$dsoftbus_root_path/interfaces/kits/discovery",
242        "$dsoftbus_root_path/interfaces/kits/lnn",
243        "$dsoftbus_root_path/interfaces/kits/lnn/enhance",
244        "$dsoftbus_root_path/interfaces/kits/transport",
245      ]
246
247      wifi_direct_connection_external_deps = []
248
249      if (dsoftbus_feature_conn_pv1 == true &&
250          softbus_communication_wifi_feature == true &&
251          dsoftbus_feature_conn_tcp_comm == true) {
252        wifi_direct_connection_src += [
253          "$wifi_direct_path/adapter/p2p_adapter.cpp",
254          "$wifi_direct_path/channel/auth_negotiate_channel.cpp",
255          "$wifi_direct_path/channel/proxy_negotiate_channel.cpp",
256          "$wifi_direct_path/channel/dummy_negotiate_channel.cpp",
257          "$wifi_direct_path/command/connect_command.cpp",
258          "$wifi_direct_path/command/command_factory.cpp",
259          "$wifi_direct_path/command/disconnect_command.cpp",
260          "$wifi_direct_path/command/force_disconnect_command.cpp",
261          "$wifi_direct_path/command/negotiate_command.cpp",
262          "$wifi_direct_path/command/processor_selector_factory.cpp",
263          "$wifi_direct_path/command/simple_processor_selector.cpp",
264          "$wifi_direct_path/data/inner_link.cpp",
265          "$wifi_direct_path/data/interface_info.cpp",
266          "$wifi_direct_path/data/interface_manager.cpp",
267          "$wifi_direct_path/data/ipv4_info.cpp",
268          "$wifi_direct_path/data/link_info.cpp",
269          "$wifi_direct_path/data/link_manager.cpp",
270          "$wifi_direct_path/data/negotiate_message.cpp",
271          "$wifi_direct_path/data/wifi_config_info.cpp",
272          "$wifi_direct_path/dfx/duration_statistic.cpp",
273          "$wifi_direct_path/dfx/interface_snapshot.cpp",
274          "$wifi_direct_path/dfx/link_snapshot.cpp",
275          "$wifi_direct_path/dfx/p2p_entity_snapshot.cpp",
276          "$wifi_direct_path/dfx/processor_snapshot.cpp",
277          "$wifi_direct_path/dfx/wifi_direct_trace.cpp",
278          "$wifi_direct_path/dfx/wifi_direct_dfx.cpp",
279          "$wifi_direct_path/dfx/wifi_direct_hidumper.cpp",
280          "$wifi_direct_path/event/wifi_direct_event_dispatcher.cpp",
281          "$wifi_direct_path/entity/p2p_available_state.cpp",
282          "$wifi_direct_path/entity/p2p_connect_state.cpp",
283          "$wifi_direct_path/entity/p2p_create_group_state.cpp",
284          "$wifi_direct_path/entity/p2p_destroy_group_state.cpp",
285          "$wifi_direct_path/entity/p2p_entity.cpp",
286          "$wifi_direct_path/entity/p2p_entity_state.cpp",
287          "$wifi_direct_path/entity/p2p_unavailable_state.cpp",
288          "$wifi_direct_path/entity/p2p_broadcast_receiver.cpp",
289          "$wifi_direct_path/processor/p2p_v1_processor.cpp",
290          "$wifi_direct_path/processor/null_processor.cpp",
291          "$wifi_direct_path/protocol/json_protocol.cpp",
292          "$wifi_direct_path/protocol/tlv_protocol.cpp",
293          "$wifi_direct_path/utils/wifi_direct_anonymous.cpp",
294          "$wifi_direct_path/utils/wifi_direct_utils.cpp",
295          "$dsoftbus_root_path/core/frame/common/src/softbus_init_common.c",
296          "$wifi_direct_path/wifi_direct_executor.cpp",
297          "$wifi_direct_path/wifi_direct_executor_manager.cpp",
298          "$wifi_direct_path/wifi_direct_initiator.cpp",
299          "$wifi_direct_path/wifi_direct_ip_manager.cpp",
300          "$wifi_direct_path/wifi_direct_manager.cpp",
301          "$wifi_direct_path/wifi_direct_role_option.cpp",
302          "$wifi_direct_path/wifi_direct_scheduler.cpp",
303          "$wifi_direct_path/dbinder/wifi_direct_init.cpp",
304          "$wifi_direct_path/wifi_direct_executor_factory.cpp",
305          "$wifi_direct_path/wifi_direct_scheduler_factory.cpp",
306          "$wifi_direct_path/entity/entity_factory.cpp",
307        ]
308
309        wifi_direct_connection_external_deps += [
310          "bounds_checking_function:libsec_shared",
311          "cJSON:cjson",
312          "c_utils:utils",
313          "hilog:libhilog",
314          "hitrace:libhitracechain",
315          "init:libbegetutil",
316          "json:nlohmann_json_static",
317          "netmanager_base:net_conn_manager_if",
318          "samgr:samgr_proxy",
319          "wifi:wifi_sdk",
320        ]
321
322        remove_configs = [
323          "//build/config/compiler:no_rtti",
324          "//build/config/compiler:no_exceptions",
325        ]
326
327        configs = [
328          "//build/config/compiler:rtti",
329          "//build/config/compiler:exceptions",
330        ]
331      } else {
332        wifi_direct_connection_src +=
333            [ "$wifi_direct_path/wifi_direct_manager_virtual.c" ]
334      }
335
336      include_dirs = wifi_direct_connection_inc
337      sources = wifi_direct_connection_src
338      external_deps = wifi_direct_connection_external_deps
339
340      part_name = "dsoftbus"
341      subsystem_name = "communication"
342    }
343  }
344} else {
345  ohos_shared_library("wifi_direct") {
346    if (!defined(ohos_lite)) {
347      sanitize = {
348        cfi = true
349        cfi_cross_dso = true
350        debug = false
351      }
352      branch_protector_ret = "pac_ret"
353    }
354    defines += [ "__STDC_FORMAT_MACROS" ]
355    if (is_asan) {
356      defines += [ "ASAN_BUILD" ]
357    }
358    deps = [
359      "$dsoftbus_root_path/adapter:softbus_adapter",
360      "$dsoftbus_root_path/core/common:softbus_utils",
361      "$dsoftbus_root_path/dfx:softbus_dfx",
362    ]
363    public_configs = [ ":wifi_direct_interface" ]
364
365    wifi_direct_path = "$dsoftbus_root_path/core/connection/wifi_direct_cpp"
366    wifi_direct_connection_src = []
367
368    wifi_direct_connection_inc = [
369      "$dsoftbus_dfx_path/interface/include",
370      "$dsoftbus_dfx_path/interface/include/form",
371      "$dsoftbus_root_path/adapter/common/include",
372      "$dsoftbus_root_path/adapter/common/net/wifi/include",
373      "$dsoftbus_root_path/core/adapter/authentication/include",
374      "$dsoftbus_root_path/core/adapter/bus_center/include",
375      "$dsoftbus_root_path/core/authentication/include",
376      "$dsoftbus_root_path/core/authentication/interface",
377      "$dsoftbus_root_path/core/bus_center/interface",
378      "$dsoftbus_root_path/core/bus_center/lnn/interface/common",
379      "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/heartbeat/include",
380      "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include",
381      "$dsoftbus_root_path/core/bus_center/lnn/net_builder/include",
382      "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/common/include",
383      "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/distributed_ledger/include",
384      "$dsoftbus_root_path/core/bus_center/service/include",
385      "$dsoftbus_root_path/core/bus_center/utils/include/",
386      "$dsoftbus_root_path/core/common/include",
387      "$dsoftbus_root_path/core/connection/interface",
388      "$dsoftbus_root_path/core/connection/manager",
389      "$dsoftbus_root_path/core/connection/wifi_direct_cpp",
390      "$dsoftbus_root_path/core/connection/wifi_direct_cpp/dbinder",
391      "$dsoftbus_root_path/core/discovery/interface",
392      "$dsoftbus_root_path/core/discovery/manager/include",
393      "$dsoftbus_root_path/core/frame/init/include",
394      "$dsoftbus_root_path/core/transmission/trans_channel/proxy/include",
395      "$dsoftbus_root_path/interfaces/inner_kits/lnn",
396      "$dsoftbus_root_path/interfaces/inner_kits/transport",
397      "$dsoftbus_root_path/interfaces/kits/adapter",
398      "$dsoftbus_root_path/interfaces/kits/authentication",
399      "$dsoftbus_root_path/interfaces/kits/authentication/enhance",
400      "$dsoftbus_root_path/interfaces/kits/bus_center",
401      "$dsoftbus_root_path/interfaces/kits/common",
402      "$dsoftbus_root_path/interfaces/kits/connect",
403      "$dsoftbus_root_path/interfaces/kits/disc",
404      "$dsoftbus_root_path/interfaces/kits/discovery",
405      "$dsoftbus_root_path/interfaces/kits/lnn",
406      "$dsoftbus_root_path/interfaces/kits/lnn/enhance",
407      "$dsoftbus_root_path/interfaces/kits/transport",
408    ]
409
410    if (!defined(ohos_lite)) {
411      wifi_direct_connection_inc += [
412        "$dsoftbus_root_path/adapter/common/include/OS_adapter_define/linux",
413      ]
414    }
415    wifi_direct_connection_external_deps = []
416
417    if (dsoftbus_feature_conn_pv1 == true &&
418        softbus_communication_wifi_feature == true &&
419        dsoftbus_feature_conn_tcp_comm == true) {
420      wifi_direct_connection_src += [
421        "$wifi_direct_path/adapter/p2p_adapter.cpp",
422        "$wifi_direct_path/channel/auth_negotiate_channel.cpp",
423        "$wifi_direct_path/channel/proxy_negotiate_channel.cpp",
424        "$wifi_direct_path/channel/dummy_negotiate_channel.cpp",
425        "$wifi_direct_path/command/connect_command.cpp",
426        "$wifi_direct_path/command/command_factory.cpp",
427        "$wifi_direct_path/command/disconnect_command.cpp",
428        "$wifi_direct_path/command/force_disconnect_command.cpp",
429        "$wifi_direct_path/command/negotiate_command.cpp",
430        "$wifi_direct_path/command/processor_selector_factory.cpp",
431        "$wifi_direct_path/command/simple_processor_selector.cpp",
432        "$wifi_direct_path/data/inner_link.cpp",
433        "$wifi_direct_path/data/interface_info.cpp",
434        "$wifi_direct_path/data/interface_manager.cpp",
435        "$wifi_direct_path/data/ipv4_info.cpp",
436        "$wifi_direct_path/data/link_info.cpp",
437        "$wifi_direct_path/data/link_manager.cpp",
438        "$wifi_direct_path/data/negotiate_message.cpp",
439        "$wifi_direct_path/data/wifi_config_info.cpp",
440        "$wifi_direct_path/dfx/duration_statistic.cpp",
441        "$wifi_direct_path/dfx/interface_snapshot.cpp",
442        "$wifi_direct_path/dfx/link_snapshot.cpp",
443        "$wifi_direct_path/dfx/p2p_entity_snapshot.cpp",
444        "$wifi_direct_path/dfx/processor_snapshot.cpp",
445        "$wifi_direct_path/dfx/wifi_direct_trace.cpp",
446        "$wifi_direct_path/dfx/wifi_direct_dfx.cpp",
447        "$wifi_direct_path/dfx/wifi_direct_hidumper.cpp",
448        "$wifi_direct_path/event/wifi_direct_event_dispatcher.cpp",
449        "$wifi_direct_path/entity/p2p_available_state.cpp",
450        "$wifi_direct_path/entity/p2p_connect_state.cpp",
451        "$wifi_direct_path/entity/p2p_create_group_state.cpp",
452        "$wifi_direct_path/entity/p2p_destroy_group_state.cpp",
453        "$wifi_direct_path/entity/p2p_entity.cpp",
454        "$wifi_direct_path/entity/p2p_entity_state.cpp",
455        "$wifi_direct_path/entity/p2p_unavailable_state.cpp",
456        "$wifi_direct_path/entity/p2p_broadcast_receiver.cpp",
457        "$wifi_direct_path/processor/p2p_v1_processor.cpp",
458        "$wifi_direct_path/processor/null_processor.cpp",
459        "$wifi_direct_path/protocol/json_protocol.cpp",
460        "$wifi_direct_path/protocol/tlv_protocol.cpp",
461        "$wifi_direct_path/utils/wifi_direct_anonymous.cpp",
462        "$wifi_direct_path/utils/wifi_direct_utils.cpp",
463        "$dsoftbus_root_path/core/frame/common/src/softbus_init_common.c",
464        "$wifi_direct_path/wifi_direct_executor.cpp",
465        "$wifi_direct_path/wifi_direct_executor_manager.cpp",
466        "$wifi_direct_path/wifi_direct_initiator.cpp",
467        "$wifi_direct_path/wifi_direct_ip_manager.cpp",
468        "$wifi_direct_path/wifi_direct_manager.cpp",
469        "$wifi_direct_path/wifi_direct_role_option.cpp",
470        "$wifi_direct_path/wifi_direct_scheduler.cpp",
471        "$wifi_direct_path/dbinder/wifi_direct_init.cpp",
472        "$wifi_direct_path/wifi_direct_executor_factory.cpp",
473        "$wifi_direct_path/wifi_direct_scheduler_factory.cpp",
474        "$wifi_direct_path/entity/entity_factory.cpp",
475      ]
476
477      wifi_direct_connection_external_deps += [
478        "bounds_checking_function:libsec_shared",
479        "cJSON:cjson",
480        "c_utils:utils",
481        "hilog:libhilog",
482        "hitrace:libhitracechain",
483        "init:libbegetutil",
484        "json:nlohmann_json_static",
485        "netmanager_base:net_conn_manager_if",
486        "samgr:samgr_proxy",
487        "wifi:wifi_sdk",
488      ]
489
490      remove_configs = [
491        "//build/config/compiler:no_rtti",
492        "//build/config/compiler:no_exceptions",
493      ]
494
495      configs = [
496        "//build/config/compiler:rtti",
497        "//build/config/compiler:exceptions",
498      ]
499    } else {
500      wifi_direct_connection_src +=
501          [ "$wifi_direct_path/wifi_direct_manager_virtual.c" ]
502    }
503
504    include_dirs = wifi_direct_connection_inc
505    sources = wifi_direct_connection_src
506    external_deps = wifi_direct_connection_external_deps
507
508    part_name = "dsoftbus"
509    subsystem_name = "communication"
510  }
511}
512