• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
14if (defined(ohos_lite)) {
15  import("//build/lite/config/component/lite_component.gni")
16} else {
17  import("//build/ohos.gni")
18}
19
20import("//third_party/wpa_supplicant/wpa_supplicant-2.9_standard/wpa.gni")
21import(
22    "//third_party/wpa_supplicant/wpa_supplicant-2.9_standard/wpa_vendor_ext.gni")
23
24declare_args() {
25  wpa_supplicant_driver_nl80211_hisi = false
26  wpa_supplicant_driver_nl80211 = false
27  wpa_supplicant_ohos_certmgr = true
28  wpa_supplicant_ohos_eapauth = true
29  wpa_supplicant_config_hilog = true
30  wpa_supplicant_config_openssl = true
31  wpa_supplicant_config_wfd = true
32}
33
34if (wpa_supplicant_ohos_certmgr) {
35  cert_manager_sources = [
36    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cert_manager_api.c",
37    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_ipc_client.c",
38    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_ipc_client_serialization.c",
39    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_load_sa.cpp",
40    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_mem.c",
41    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_param.c",
42    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/src/cm_request.cpp",
43  ]
44
45  cert_manager_include_dirs = [
46    "//third_party/openssl/include",
47    "$WPA_ROOT_DIR/wpa_supplicant_lib/cert_mgr_deps/include",
48  ]
49
50  cert_manager_external_deps = [
51    "c_utils:utils",
52    "ipc:ipc_single",
53    "samgr:samgr_proxy",
54  ]
55
56  cert_manager_deps = [ "//third_party/openssl:libcrypto_shared" ]
57}
58
59if (wpa_supplicant_driver_nl80211_hisi) {
60  CONFIG_HISI = "true"
61} else {
62  CONFIG_HISI = "false"
63}
64if (wpa_supplicant_driver_nl80211) {
65  CONFIG_DRIVER = "nl80211"
66} else {
67  CONFIG_DRIVER = "hdf"
68}
69if (wpa_supplicant_ohos_eapauth) {
70  CONFIG_EAPAUTH = "true"
71} else {
72  CONFIG_EAPAUTH = "false"
73}
74
75CONFIG_OS = "unix"
76CONFIG_ELOOP = "eloop"
77if ("${CONFIG_DRIVER}" == "nl80211") {
78  CONFIG_L2_PACKET = "linux"
79} else {
80  CONFIG_L2_PACKET = "rtos"
81}
82
83CONFIG_MAIN = "main"
84
85config("wpa_warnings") {
86  cflags = [ "-Wno-error=sign-compare" ]
87  ldflags = [
88    "-flto",
89    "-fsanitize=cfi",
90    "-Wl,-plugin-opt,O1",
91  ]
92}
93
94wpa_client_base_sources = [
95  "$WPA_ROOT_DIR/src/common/wpa_ctrl.c",
96  "$WPA_ROOT_DIR/src/utils/common.c",
97  "$WPA_ROOT_DIR/src/utils/os_${CONFIG_OS}.c",
98  "$WPA_ROOT_DIR/src/utils/wpa_debug.c",
99]
100
101wpa_client_base_include_dirs = [
102  "$WPA_ROOT_DIR/src",
103  "$WPA_ROOT_DIR/src/utils",
104  "$WPA_ROOT_DIR/src/drivers",
105  "$WPA_ROOT_DIR/wpa_supplicant",
106  "$WPA_ROOT_DIR/build/include",
107  "//drivers/peripheral/wlan/client/include",
108  "//drivers/peripheral/wlan/wpa/interfaces/hdi_service/service_common",
109  "//drivers/peripheral/wlan/wpa/client/include",
110  "//third_party/bounds_checking_function/include",
111  "//base/hiviewdfxhilog/interfaces/native/innerkits/include",
112  "//base/startup/init/interfaces/innerkits/include/syspara",
113]
114
115wpa_client_base_cflags = [
116  "-UANDROID",
117  "-fsigned-char",
118  "-DCONFIG_IEEE80211W",
119  "-DCONFIG_NO_VLAN",
120  "-DCONFIG_NO_RADIUS",
121  "-DCONFIG_NO_RANDOM_POOL",
122  "-DCONFIG_SHA256",
123  "-DCONFIG_CRYPTO_INTERNAL",
124  "-DCONFIG_INTERNAL_LIBTOMMATH",
125  "-DCONFIG_INTERNAL_SHA384",
126  "-DCONFIG_INTERNAL_SHA512",
127  "-DCONFIG_CTRL_IFACE",
128  "-DCONFIG_IBSS_RSN",
129  "-DIEEE8021X_EAPOL",
130  "-DCONFIG_BACEND_FILE",
131  "-DCONFIG_NO_CONFIG_BLOBS",
132  "-DUSERSPACE_CLIENT_SUPPORT",
133  "-DCONFIG_DEBUG_FILE",
134  "-DCONFIG_OPEN_HARMONY_PATCH",
135]
136
137ohos_shared_library("wpa_client") {
138  sanitize = {
139    cfi = true
140    integer_overflow = true
141    debug = false
142    blocklist = "./wpa_blocklist.txt"
143  }
144
145  output_name = "wpa_client"
146  sources = wpa_client_base_sources
147
148  include_dirs = wpa_client_base_include_dirs
149
150  cflags = wpa_client_base_cflags
151  if ("${CONFIG_CTRL_IFACE}" == "udp") {
152    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
153  } else {
154    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
155  }
156
157  external_deps = [ "init:libbegetutil" ]
158  if (wpa_supplicant_config_hilog) {
159    external_deps += [ "hilog:libhilog" ]
160  }
161  if ("${CONFIG_DRIVER}" == "nl80211") {
162    include_dirs += [ "$WPA_ROOT_DIR/libnl/include/libnl3" ]
163    cflags += [
164      "-DCONFIG_DRIVER_NL80211",
165      "-DCONFIG_LIBNL32",
166    ]
167  } else {
168    cflags += [
169      "-DCONFIG_DRIVER_HDF",
170      "-DCONFIG_OHOS_P2P",
171    ]
172  }
173  configs = [ ":wpa_warnings" ]
174  part_name = "wpa_supplicant"
175  subsystem_name = "thirdparty"
176  install_images = [ "system" ]
177}
178
179ohos_shared_library("wpa_client_updater") {
180  sanitize = {
181    cfi = true
182    integer_overflow = true
183    debug = false
184    blocklist = "./wpa_blocklist.txt"
185  }
186
187  output_name = "wpa_client_updater"
188  symlink_target_name = [ "libwpa_client.z.so" ]
189  sources = wpa_client_base_sources
190
191  include_dirs = wpa_client_base_include_dirs
192
193  cflags = wpa_client_base_cflags
194  if ("${CONFIG_CTRL_IFACE}" == "udp") {
195    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
196  } else {
197    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
198  }
199
200  external_deps = [ "init:libbegetutil" ]
201  if (wpa_supplicant_config_hilog) {
202    external_deps += [ "hilog:libhilog" ]
203  }
204
205  if ("${CONFIG_DRIVER}" == "nl80211") {
206    include_dirs += [ "$WPA_ROOT_DIR/libnl/include/libnl3" ]
207    cflags += [
208      "-DCONFIG_DRIVER_NL80211",
209      "-DCONFIG_LIBNL32",
210    ]
211  } else {
212    cflags += [
213      "-DCONFIG_DRIVER_HDF",
214      "-DCONFIG_OHOS_P2P",
215    ]
216  }
217  defines = [ "OHOS_EUPDATER" ]
218  configs = [ ":wpa_warnings" ]
219  part_name = "wpa_supplicant"
220  subsystem_name = "thirdparty"
221  install_images = [ "updater" ]
222}
223
224wpa_base_sources = [
225  # wpa & hostapd
226  "$WPA_ROOT_DIR/hostapd/ap_config_file.c",
227  "$WPA_ROOT_DIR/hostapd/ap_ctrl_iface.c",
228  "$WPA_ROOT_DIR/hostapd/ap_eap_register.c",
229
230  # hostapd
231  "$WPA_ROOT_DIR/hostapd/ap_main.c",
232  "$WPA_ROOT_DIR/src/ap/ap_config.c",
233  "$WPA_ROOT_DIR/src/ap/ap_drv_ops.c",
234  "$WPA_ROOT_DIR/src/ap/ap_list.c",
235  "$WPA_ROOT_DIR/src/ap/ap_mlme.c",
236  "$WPA_ROOT_DIR/src/ap/ap_rrm.c",
237  "$WPA_ROOT_DIR/src/ap/authsrv.c",
238  "$WPA_ROOT_DIR/src/ap/beacon.c",
239  "$WPA_ROOT_DIR/src/ap/bss_load.c",
240  "$WPA_ROOT_DIR/src/ap/ctrl_iface_ap.c",
241  "$WPA_ROOT_DIR/src/ap/dfs.c",
242  "$WPA_ROOT_DIR/src/ap/drv_callbacks.c",
243  "$WPA_ROOT_DIR/src/ap/eap_user_db.c",
244  "$WPA_ROOT_DIR/src/ap/hostapd.c",
245  "$WPA_ROOT_DIR/src/ap/hw_features.c",
246  "$WPA_ROOT_DIR/src/ap/ieee802_11.c",
247  "$WPA_ROOT_DIR/src/ap/ieee802_11_auth.c",
248  "$WPA_ROOT_DIR/src/ap/ieee802_11_ht.c",
249  "$WPA_ROOT_DIR/src/ap/ieee802_11_shared.c",
250  "$WPA_ROOT_DIR/src/ap/ieee802_1x.c",
251  "$WPA_ROOT_DIR/src/ap/neighbor_db.c",
252  "$WPA_ROOT_DIR/src/ap/pmksa_cache_auth.c",
253  "$WPA_ROOT_DIR/src/ap/preauth_auth.c",
254  "$WPA_ROOT_DIR/src/ap/sta_info.c",
255  "$WPA_ROOT_DIR/src/ap/tkip_countermeasures.c",
256  "$WPA_ROOT_DIR/src/ap/utils.c",
257  "$WPA_ROOT_DIR/src/ap/wmm.c",
258  "$WPA_ROOT_DIR/src/ap/wpa_auth.c",
259  "$WPA_ROOT_DIR/src/ap/wpa_auth_glue.c",
260  "$WPA_ROOT_DIR/src/ap/wpa_auth_ie.c",
261  "$WPA_ROOT_DIR/src/common/ctrl_iface_common.c",
262  "$WPA_ROOT_DIR/src/common/hw_features_common.c",
263  "$WPA_ROOT_DIR/src/common/ieee802_11_common.c",
264  "$WPA_ROOT_DIR/src/common/wpa_common.c",
265  "$WPA_ROOT_DIR/src/crypto/aes-internal.c",
266  "$WPA_ROOT_DIR/src/crypto/aes-omac1.c",
267  "$WPA_ROOT_DIR/src/crypto/sha1-prf.c",
268  "$WPA_ROOT_DIR/src/crypto/sha256-prf.c",
269  "$WPA_ROOT_DIR/src/drivers/driver_common.c",
270  "$WPA_ROOT_DIR/src/drivers/drivers.c",
271  "$WPA_ROOT_DIR/src/eap_common/eap_common.c",
272  "$WPA_ROOT_DIR/src/eap_peer/eap.c",
273  "$WPA_ROOT_DIR/src/eap_peer/eap_methods.c",
274  "$WPA_ROOT_DIR/src/eap_server/eap_server.c",
275  "$WPA_ROOT_DIR/src/eap_server/eap_server_identity.c",
276  "$WPA_ROOT_DIR/src/eap_server/eap_server_methods.c",
277  "$WPA_ROOT_DIR/src/eapol_auth/eapol_auth_sm.c",
278  "$WPA_ROOT_DIR/src/eapol_supp/eapol_supp_sm.c",
279  "$WPA_ROOT_DIR/src/l2_packet/l2_packet_${CONFIG_L2_PACKET}.c",
280  "$WPA_ROOT_DIR/src/rsn_supp/pmksa_cache.c",
281  "$WPA_ROOT_DIR/src/rsn_supp/preauth.c",
282  "$WPA_ROOT_DIR/src/rsn_supp/wpa.c",
283  "$WPA_ROOT_DIR/src/rsn_supp/wpa_i.h",
284  "$WPA_ROOT_DIR/src/rsn_supp/wpa_ie.c",
285  "$WPA_ROOT_DIR/src/utils/${CONFIG_ELOOP}.c",
286  "$WPA_ROOT_DIR/src/utils/bitfield.c",
287  "$WPA_ROOT_DIR/src/utils/common.c",
288  "$WPA_ROOT_DIR/src/utils/ip_addr.c",
289  "$WPA_ROOT_DIR/src/utils/os_${CONFIG_OS}.c",
290  "$WPA_ROOT_DIR/src/utils/radiotap.c",
291  "$WPA_ROOT_DIR/src/utils/wpa_debug.c",
292  "$WPA_ROOT_DIR/src/utils/wpabuf.c",
293  "$WPA_ROOT_DIR/wpa_supplicant/${CONFIG_MAIN}.c",
294  "$WPA_ROOT_DIR/wpa_supplicant/bss.c",
295  "$WPA_ROOT_DIR/wpa_supplicant/bssid_ignore.c",
296
297  # wpa_supplicant
298  "$WPA_ROOT_DIR/src/crypto/sha384-kdf.c",
299  "$WPA_ROOT_DIR/src/crypto/sha384-prf.c",
300  "$WPA_ROOT_DIR/wpa_supplicant/config.c",
301  "$WPA_ROOT_DIR/wpa_supplicant/config_file.c",
302  "$WPA_ROOT_DIR/wpa_supplicant/ctrl_iface.c",
303  "$WPA_ROOT_DIR/wpa_supplicant/ctrl_iface_${CONFIG_CTRL_IFACE}.c",
304  "$WPA_ROOT_DIR/wpa_supplicant/eap_register.c",
305  "$WPA_ROOT_DIR/wpa_supplicant/events.c",
306  "$WPA_ROOT_DIR/wpa_supplicant/ibss_rsn.c",
307  "$WPA_ROOT_DIR/wpa_supplicant/notify.c",
308  "$WPA_ROOT_DIR/wpa_supplicant/op_classes.c",
309  "$WPA_ROOT_DIR/wpa_supplicant/robust_av.c",
310  "$WPA_ROOT_DIR/wpa_supplicant/rrm.c",
311  "$WPA_ROOT_DIR/wpa_supplicant/scan.c",
312  "$WPA_ROOT_DIR/wpa_supplicant/wmm_ac.c",
313  "$WPA_ROOT_DIR/wpa_supplicant/wpa_supplicant.c",
314  "$WPA_ROOT_DIR/wpa_supplicant/wpas_glue.c",
315
316  #sae
317  "$WPA_ROOT_DIR/src/common/sae.c",
318  "$WPA_ROOT_DIR/wpa_supplicant/sme.c",
319
320  #p2p
321  "$WPA_ROOT_DIR/src/ap/p2p_hostapd.c",
322  "$WPA_ROOT_DIR/src/ap/wps_hostapd.c",
323  "$WPA_ROOT_DIR/src/common/dragonfly.c",
324  "$WPA_ROOT_DIR/src/common/gas.c",
325  "$WPA_ROOT_DIR/src/crypto/crypto_openssl.c",
326  "$WPA_ROOT_DIR/src/crypto/dh_groups.c",
327  "$WPA_ROOT_DIR/src/crypto/fips_prf_openssl.c",
328  "$WPA_ROOT_DIR/src/crypto/ms_funcs.c",
329  "$WPA_ROOT_DIR/src/crypto/sha1-tlsprf.c",
330  "$WPA_ROOT_DIR/src/crypto/sha256-kdf.c",
331  "$WPA_ROOT_DIR/src/crypto/tls_openssl.c",
332  "$WPA_ROOT_DIR/src/crypto/tls_openssl_ocsp.c",
333  "$WPA_ROOT_DIR/src/eap_common/chap.c",
334  "$WPA_ROOT_DIR/src/eap_common/eap_peap_common.c",
335  "$WPA_ROOT_DIR/src/eap_common/eap_pwd_common.c",
336  "$WPA_ROOT_DIR/src/eap_common/eap_sim_common.c",
337  "$WPA_ROOT_DIR/src/eap_common/eap_wsc_common.c",
338  "$WPA_ROOT_DIR/src/eap_peer/eap_aka.c",
339  "$WPA_ROOT_DIR/src/eap_peer/eap_gtc.c",
340  "$WPA_ROOT_DIR/src/eap_peer/eap_mschapv2.c",
341  "$WPA_ROOT_DIR/src/eap_peer/eap_peap.c",
342  "$WPA_ROOT_DIR/src/eap_peer/eap_pwd.c",
343  "$WPA_ROOT_DIR/src/eap_peer/eap_sim.c",
344  "$WPA_ROOT_DIR/src/eap_peer/eap_tls.c",
345  "$WPA_ROOT_DIR/src/eap_peer/eap_tls_common.c",
346  "$WPA_ROOT_DIR/src/eap_peer/eap_ttls.c",
347  "$WPA_ROOT_DIR/src/eap_peer/eap_wsc.c",
348  "$WPA_ROOT_DIR/src/eap_peer/mschapv2.c",
349  "$WPA_ROOT_DIR/src/eap_server/eap_server_wsc.c",
350  "$WPA_ROOT_DIR/src/p2p/p2p.c",
351  "$WPA_ROOT_DIR/src/p2p/p2p_build.c",
352  "$WPA_ROOT_DIR/src/p2p/p2p_dev_disc.c",
353  "$WPA_ROOT_DIR/src/p2p/p2p_go_neg.c",
354  "$WPA_ROOT_DIR/src/p2p/p2p_group.c",
355  "$WPA_ROOT_DIR/src/p2p/p2p_invitation.c",
356  "$WPA_ROOT_DIR/src/p2p/p2p_parse.c",
357  "$WPA_ROOT_DIR/src/p2p/p2p_pd.c",
358  "$WPA_ROOT_DIR/src/p2p/p2p_sd.c",
359  "$WPA_ROOT_DIR/src/p2p/p2p_utils.c",
360  "$WPA_ROOT_DIR/src/tls/bignum.c",
361  "$WPA_ROOT_DIR/src/utils/base64.c",
362  "$WPA_ROOT_DIR/src/utils/config.c",
363  "$WPA_ROOT_DIR/src/utils/crc32.c",
364  "$WPA_ROOT_DIR/src/utils/uuid.c",
365  "$WPA_ROOT_DIR/src/wps/wps.c",
366  "$WPA_ROOT_DIR/src/wps/wps_attr_build.c",
367  "$WPA_ROOT_DIR/src/wps/wps_attr_parse.c",
368  "$WPA_ROOT_DIR/src/wps/wps_attr_process.c",
369  "$WPA_ROOT_DIR/src/wps/wps_common.c",
370  "$WPA_ROOT_DIR/src/wps/wps_dev_attr.c",
371  "$WPA_ROOT_DIR/src/wps/wps_enrollee.c",
372  "$WPA_ROOT_DIR/src/wps/wps_registrar.c",
373  "$WPA_ROOT_DIR/wpa_supplicant/ap.c",
374  "$WPA_ROOT_DIR/wpa_supplicant/gas_query.c",
375  "$WPA_ROOT_DIR/wpa_supplicant/offchannel.c",
376  "$WPA_ROOT_DIR/wpa_supplicant/p2p_supplicant.c",
377  "$WPA_ROOT_DIR/wpa_supplicant/p2p_supplicant_sd.c",
378  "$WPA_ROOT_DIR/wpa_supplicant/wps_supplicant.c",
379  "$WPA_ROOT_DIR/wpa_supplicant_lib/wpa_magiclink.c",
380]
381
382if ("${CONFIG_EAPAUTH}" == "true") {
383  wpa_base_sources += [
384    "$WPA_ROOT_DIR/src/crypto/aes-encblock.c",
385    "$WPA_ROOT_DIR/src/crypto/milenage.c",
386  ]
387}
388
389if (wpa_supplicant_config_wfd) {
390  wpa_base_sources += [ "$WPA_ROOT_DIR/wpa_supplicant/wifi_display.c" ]
391}
392
393wpa_base_include_dirs = [
394  "$WPA_ROOT_DIR/src",
395  "$WPA_ROOT_DIR/src/ap",
396  "$WPA_ROOT_DIR/src/utils",
397  "$WPA_ROOT_DIR/src/drivers",
398  "$WPA_ROOT_DIR/wpa_supplicant",
399  "$WPA_ROOT_DIR/build/include",
400  "$WPA_ROOT_DIR/wpa_supplicant_lib",
401  "//third_party/libnl/libnl-3.7.0/include",
402  "//drivers/peripheral/wlan/client/include",
403  "//drivers/peripheral/wlan/wpa/interfaces/hdi_service/service_common",
404  "//drivers/peripheral/wlan/hostapd/interfaces/hdi_service/service_common",
405  "//drivers/peripheral/wlan/wpa/client/include",
406  "//drivers/peripheral/wlan/hostapd/client/include",
407  "//third_party/bounds_checking_function/include",
408  "//third_party/openssl/include",
409  "$WPA_ROOT_DIR/src/crypto",
410  "$WPA_ROOT_DIR/src/eap_common",
411  "//base/hiviewdfxhilog/interfaces/native/innerkits/include",
412]
413
414if (wpa_supplicant_vendor_ext) {
415  wpa_base_include_dirs += [ wpa_vendor_ext_inc_path ]
416}
417
418ohos_shared_library("wpa_sys") {
419  sanitize = {
420    cfi = true
421    integer_overflow = true
422    debug = false
423    blocklist = "./wpa_blocklist.txt"
424  }
425  output_name = "wpa_sys"
426  sources = wpa_base_sources
427
428  include_dirs = wpa_base_include_dirs
429
430  cflags = [
431    "-UANDROID",
432    "-fsigned-char",
433    "-DCONFIG_IEEE80211W",
434    "-DCONFIG_NO_VLAN",
435    "-DCONFIG_NO_RADIUS",
436    "-DCONFIG_NO_RANDOM_POOL",
437    "-DCONFIG_SHA256",
438    "-DCONFIG_CRYPTO_INTERNAL",
439    "-DCONFIG_INTERNAL_LIBTOMMATH",
440    "-DCONFIG_INTERNAL_SHA384",
441    "-DCONFIG_INTERNAL_SHA512",
442    "-DCONFIG_CTRL_IFACE",
443    "-DCONFIG_IBSS_RSN",
444    "-DIEEE8021X_EAPOL",
445    "-DUSERSPACE_CLIENT_SUPPORT",
446    "-DCONFIG_BACKEND_FILE",
447    "-DCONFIG_NO_CONFIG_BLOBS",
448    "-DCONFIG_NO_ACCOUNTING",
449    "-DEAP_SERVER_IDENTITY",
450    "-DCONFIG_IEEE80211N",
451    "-DHOSTAPD",
452    "-DNEED_AP_MLME",
453    "-DCONFIG_WPS",
454    "-DCONFIG_AP",
455    "-DCONFIG_P2P",
456    "-DEAP_WSC",
457    "-DEAP_SERVER_WSC",
458    "-DEAP_SERVER",
459    "-DCONFIG_GAS",
460    "-DCONFIG_OFFCHANNEL",
461    "-DCONFIG_MAGICLINK",
462    "-DCONFIG_MAGICLINK_PC",
463    "-DCONFIG_OPEN_HARMONY_PATCH",
464    "-DEAP_MSCHAPV2",
465    "-DEAP_TLS",
466    "-DEAP_PEAP",
467    "-DEAP_TTLS",
468    "-DEAP_SIM",
469    "-DEAP_PWD",
470    "-DEAP_MSCHAPv2",
471    "-DCONFIG_SHA256",
472    "-DCONFIG_ECC",
473    "-DEAP_AKA",
474    "-DEAP_AKA_PRIME",
475    "-DEAP_TLS_OPENSSL",
476    "-DCONFIG_SAE",
477    "-DCONFIG_SME",
478    "-DCONFIG_SUITEB192",
479    "-DCONFIG_SHA384",
480    "-DCONFIG_SUITEB",
481    "-DCONFIG_WEP",
482    "-DPKCS12_FUNCS",
483    "-DEAP_GTC",
484  ]
485  if ("${CONFIG_CTRL_IFACE}" == "udp") {
486    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
487  } else {
488    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
489  }
490
491  if (wpa_supplicant_config_wfd) {
492    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
493  }
494
495  defines = [
496    "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"",
497    "OPENSSL_SUPPRESS_DEPRECATED",
498  ]
499
500  deps = [ "//third_party/bounds_checking_function:libsec_static" ]
501  if (wpa_supplicant_config_openssl) {
502    deps += [
503      "//third_party/openssl:libcrypto_shared",
504      "//third_party/openssl:libssl_shared",
505    ]
506  }
507
508  external_deps = [ "init:libbegetutil" ]
509  if (wpa_supplicant_config_hilog) {
510    external_deps += [ "hilog:libhilog" ]
511  }
512
513  if ("${CONFIG_DRIVER}" == "nl80211") {
514    sources += [
515      "$WPA_ROOT_DIR/src/ap/ieee802_11_he.c",
516      "$WPA_ROOT_DIR/src/ap/ieee802_11_vht.c",
517      "$WPA_ROOT_DIR/src/drivers/driver_nl80211.c",
518      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_capa.c",
519      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_event.c",
520      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_monitor.c",
521      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_scan.c",
522      "$WPA_ROOT_DIR/src/drivers/linux_ioctl.c",
523      "$WPA_ROOT_DIR/src/drivers/netlink.c",
524      "$WPA_ROOT_DIR/src/drivers/rfkill.c",
525    ]
526    include_dirs += [
527      "$WPA_ROOT_DIR/libnl/include/libnl3",
528      "$WPA_ROOT_DIR/wpa_supplicant_lib",
529    ]
530
531    cflags += [
532      "-DCONFIG_DRIVER_NL80211",
533      "-DCONFIG_LIBNL32",
534      "-DCONFIG_LIBNL20",
535      "-DCONFIG_DEBUG_FILE",
536      "-DCONFIG_IEEE80211AC",
537      "-DCONFIG_IEEE80211AX",
538    ]
539    deps += [ "//third_party/libnl:libnl_share" ]
540  } else {
541    sources += [
542      "$WPA_ROOT_DIR/src/drivers/wpa_hal.c",
543      "$WPA_ROOT_DIR/src/drivers/wpa_hal_event.c",
544    ]
545    cflags += [
546      "-DCONFIG_DRIVER_HDF",
547      "-DCONFIG_OHOS_P2P",
548    ]
549  }
550  if ("${CONFIG_HISI}" == "true") {
551    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/driver_nl80211_hisi.c" ]
552    cflags += [
553      "-DCONFIG_DRIVER_NL80211_HISI",
554      "-DCONFIG_P2P_160M",
555    ]
556    if (use_musl) {
557      cflags += [ "-DCONFIG_DRIVER_NL80211_HISI_TRUNK" ]
558    }
559  }
560  cflags += ext_cflags
561
562  if (wpa_supplicant_ohos_certmgr) {
563    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/wpa_evp_key.c" ]
564    include_dirs += [ "//third_party/openssl" ]
565    sources += cert_manager_sources
566    deps += cert_manager_deps
567    external_deps += cert_manager_external_deps
568    include_dirs += cert_manager_include_dirs
569    defines += [ "CONFIG_OHOS_CERTMGR" ]
570  }
571  if (wpa_supplicant_vendor_ext) {
572    sources += wpa_vendor_ext_src
573    deps += [ "//third_party/cJSON:cjson" ]
574    include_dirs += [ "//third_party/cJSON" ]
575  }
576  if ("${CONFIG_EAPAUTH}" == "true") {
577    cflags += [ "-DCONFIG_EAP_AUTH" ]
578  }
579  configs = [ ":wpa_warnings" ]
580  part_name = "wpa_supplicant"
581  subsystem_name = "thirdparty"
582}
583
584ohos_shared_library("wpa_sys_updater") {
585  sanitize = {
586    cfi = true
587    integer_overflow = true
588    cfi_cross_dso = true
589    debug = false
590  }
591  output_name = "wpa_sys_updater"
592  sources = wpa_base_sources
593  include_dirs = wpa_base_include_dirs
594  symlink_target_name = [ "libwpa_sys.z.so" ]
595
596  cflags = [
597    "-UANDROID",
598    "-fsigned-char",
599    "-DCONFIG_IEEE80211W",
600    "-DCONFIG_NO_VLAN",
601    "-DCONFIG_NO_RADIUS",
602    "-DCONFIG_NO_RANDOM_POOL",
603    "-DCONFIG_SHA256",
604    "-DCONFIG_CRYPTO_INTERNAL",
605    "-DCONFIG_INTERNAL_LIBTOMMATH",
606    "-DCONFIG_INTERNAL_SHA384",
607    "-DCONFIG_INTERNAL_SHA512",
608    "-DCONFIG_CTRL_IFACE",
609    "-DCONFIG_IBSS_RSN",
610    "-DIEEE8021X_EAPOL",
611    "-DUSERSPACE_CLIENT_SUPPORT",
612    "-DCONFIG_BACKEND_FILE",
613    "-DCONFIG_NO_CONFIG_BLOBS",
614    "-DCONFIG_NO_ACCOUNTING",
615    "-DEAP_SERVER_IDENTITY",
616    "-DCONFIG_IEEE80211N",
617    "-DHOSTAPD",
618    "-DNEED_AP_MLME",
619    "-DCONFIG_WPS",
620    "-DCONFIG_AP",
621    "-DCONFIG_P2P",
622    "-DEAP_WSC",
623    "-DEAP_SERVER_WSC",
624    "-DEAP_SERVER",
625    "-DCONFIG_GAS",
626    "-DCONFIG_OFFCHANNEL",
627    "-DCONFIG_MAGICLINK",
628    "-DCONFIG_MAGICLINK_PC",
629    "-DCONFIG_OPEN_HARMONY_PATCH",
630    "-DEAP_MSCHAPV2",
631    "-DEAP_TLS",
632    "-DEAP_PEAP",
633    "-DEAP_TTLS",
634    "-DEAP_SIM",
635    "-DEAP_PWD",
636    "-DEAP_MSCHAPv2",
637    "-DCONFIG_SHA256",
638    "-DCONFIG_ECC",
639    "-DEAP_AKA",
640    "-DEAP_AKA_PRIME",
641    "-DEAP_TLS_OPENSSL",
642    "-DCONFIG_SAE",
643    "-DCONFIG_SME",
644    "-DCONFIG_SUITEB192",
645    "-DCONFIG_SHA384",
646    "-DCONFIG_SUITEB",
647    "-DCONFIG_WEP",
648    "-DPKCS12_FUNCS",
649    "-DEAP_GTC",
650  ]
651  if ("${CONFIG_CTRL_IFACE}" == "udp") {
652    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
653  } else {
654    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
655  }
656
657  if (wpa_supplicant_config_wfd) {
658    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
659  }
660
661  defines = [
662    "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"",
663    "OPENSSL_SUPPRESS_DEPRECATED",
664  ]
665
666  deps = [ "//third_party/bounds_checking_function:libsec_static" ]
667  if (wpa_supplicant_config_openssl) {
668    deps += [
669      "//third_party/openssl:libcrypto_shared",
670      "//third_party/openssl:libssl_shared",
671    ]
672  }
673  external_deps = [ "init:libbegetutil" ]
674  if (wpa_supplicant_config_hilog) {
675    external_deps += [ "hilog:libhilog" ]
676  }
677
678  if ("${CONFIG_DRIVER}" == "nl80211") {
679    sources += [
680      "$WPA_ROOT_DIR/src/ap/ieee802_11_he.c",
681      "$WPA_ROOT_DIR/src/ap/ieee802_11_vht.c",
682      "$WPA_ROOT_DIR/src/drivers/driver_nl80211.c",
683      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_capa.c",
684      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_event.c",
685      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_monitor.c",
686      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_scan.c",
687      "$WPA_ROOT_DIR/src/drivers/linux_ioctl.c",
688      "$WPA_ROOT_DIR/src/drivers/netlink.c",
689      "$WPA_ROOT_DIR/src/drivers/rfkill.c",
690    ]
691    include_dirs += [
692      "$WPA_ROOT_DIR/libnl/include/libnl3",
693      "$WPA_ROOT_DIR/wpa_supplicant_lib",
694    ]
695
696    cflags += [
697      "-DCONFIG_DRIVER_NL80211",
698      "-DCONFIG_LIBNL32",
699      "-DCONFIG_LIBNL20",
700      "-DCONFIG_DEBUG_FILE",
701      "-DCONFIG_IEEE80211AC",
702      "-DCONFIG_IEEE80211AX",
703    ]
704    deps += [ "//third_party/libnl:libnl_share" ]
705  } else {
706    sources += [
707      "$WPA_ROOT_DIR/src/drivers/wpa_hal.c",
708      "$WPA_ROOT_DIR/src/drivers/wpa_hal_event.c",
709    ]
710    cflags += [
711      "-DCONFIG_DRIVER_HDF",
712      "-DCONFIG_OHOS_P2P",
713    ]
714  }
715  if ("${CONFIG_HISI}" == "true") {
716    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/driver_nl80211_hisi.c" ]
717    cflags += [
718      "-DCONFIG_DRIVER_NL80211_HISI",
719      "-DCONFIG_P2P_160M",
720    ]
721    if (use_musl) {
722      cflags += [ "-DCONFIG_DRIVER_NL80211_HISI_TRUNK" ]
723    }
724  }
725  cflags += ext_cflags
726
727  if (wpa_supplicant_vendor_ext) {
728    sources += wpa_vendor_ext_src
729    deps += [ "//third_party/cJSON:cjson" ]
730    include_dirs += [ "//third_party/cJSON" ]
731  }
732  if ("${CONFIG_EAPAUTH}" == "true") {
733    cflags += [ "-DCONFIG_EAP_AUTH" ]
734  }
735  configs = [ ":wpa_warnings" ]
736  install_images = [ "updater" ]
737  part_name = "wpa_supplicant"
738  subsystem_name = "thirdparty"
739}
740
741ohos_shared_library("wpa") {
742  sanitize = {
743    cfi = true
744    integer_overflow = true
745    debug = false
746    blocklist = "./wpa_blocklist.txt"
747  }
748  output_name = "wpa"
749  sources = wpa_base_sources
750
751  include_dirs = wpa_base_include_dirs
752  include_dirs += [ "hostapd/ap_ctrl_iface.h" ]
753
754  cflags = [
755    "-UANDROID",
756    "-fsigned-char",
757    "-DCONFIG_IEEE80211W",
758    "-DCONFIG_NO_VLAN",
759    "-DCONFIG_NO_RADIUS",
760    "-DCONFIG_NO_RANDOM_POOL",
761    "-DCONFIG_SHA256",
762    "-DCONFIG_CRYPTO_INTERNAL",
763    "-DCONFIG_INTERNAL_LIBTOMMATH",
764    "-DCONFIG_INTERNAL_SHA384",
765    "-DCONFIG_INTERNAL_SHA512",
766    "-DCONFIG_CTRL_IFACE",
767    "-DCONFIG_IBSS_RSN",
768    "-DIEEE8021X_EAPOL",
769    "-DUSERSPACE_CLIENT_SUPPORT",
770    "-DCONFIG_BACKEND_FILE",
771    "-DCONFIG_NO_CONFIG_BLOBS",
772    "-DCONFIG_NO_ACCOUNTING",
773    "-DEAP_SERVER_IDENTITY",
774    "-DCONFIG_IEEE80211N",
775    "-DHOSTAPD",
776    "-DNEED_AP_MLME",
777    "-DCONFIG_WPS",
778    "-DCONFIG_AP",
779    "-DCONFIG_P2P",
780    "-DEAP_WSC",
781    "-DEAP_SERVER_WSC",
782    "-DEAP_SERVER",
783    "-DCONFIG_GAS",
784    "-DCONFIG_OFFCHANNEL",
785    "-DCONFIG_MAGICLINK",
786    "-DCONFIG_MAGICLINK_PC",
787    "-DCONFIG_OPEN_HARMONY_PATCH",
788    "-DEAP_MSCHAPV2",
789    "-DEAP_TLS",
790    "-DEAP_PEAP",
791    "-DEAP_TTLS",
792    "-DEAP_SIM",
793    "-DEAP_PWD",
794    "-DEAP_MSCHAPv2",
795    "-DCONFIG_SHA256",
796    "-DCONFIG_ECC",
797    "-DEAP_AKA",
798    "-DEAP_AKA_PRIME",
799    "-DEAP_TLS_OPENSSL",
800    "-DCONFIG_SAE",
801    "-DCONFIG_SUITEB192",
802    "-DCONFIG_SHA384",
803    "-DCONFIG_SUITEB",
804    "-DCONFIG_SME",
805    "-DCONFIG_WEP",
806    "-DPKCS12_FUNCS",
807    "-DEAP_GTC",
808    "-DCONFIG_LIBWPA_VENDOR",
809  ]
810  if ("${CONFIG_CTRL_IFACE}" == "udp") {
811    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
812  } else {
813    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
814  }
815
816  if (wpa_supplicant_config_wfd) {
817    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
818  }
819
820  defines = [
821    "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"",
822    "OPENSSL_SUPPRESS_DEPRECATED",
823  ]
824
825  deps = [ "//third_party/bounds_checking_function:libsec_static" ]
826  if (wpa_supplicant_config_openssl) {
827    deps += [
828      "//third_party/openssl:libcrypto_shared",
829      "//third_party/openssl:libssl_shared",
830    ]
831  }
832  external_deps = [
833    "drivers_peripheral_wlan:hostapd_hdi_client",
834    "drivers_peripheral_wlan:wifi_driver_client",
835    "drivers_peripheral_wlan:wpa_hdi_client",
836    "init:libbegetutil",
837  ]
838  if (wpa_supplicant_config_hilog) {
839    external_deps += [ "hilog:libhilog" ]
840  }
841
842  if ("${CONFIG_DRIVER}" == "nl80211") {
843    sources += [
844      "$WPA_ROOT_DIR/src/ap/ieee802_11_he.c",
845      "$WPA_ROOT_DIR/src/ap/ieee802_11_vht.c",
846      "$WPA_ROOT_DIR/src/drivers/driver_nl80211.c",
847      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_capa.c",
848      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_event.c",
849      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_monitor.c",
850      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_scan.c",
851      "$WPA_ROOT_DIR/src/drivers/linux_ioctl.c",
852      "$WPA_ROOT_DIR/src/drivers/netlink.c",
853      "$WPA_ROOT_DIR/src/drivers/rfkill.c",
854    ]
855    include_dirs += [
856      "$WPA_ROOT_DIR/libnl/include/libnl3",
857      "$WPA_ROOT_DIR/wpa_supplicant_lib",
858    ]
859
860    cflags += [
861      "-DCONFIG_DRIVER_NL80211",
862      "-DCONFIG_LIBNL32",
863      "-DCONFIG_LIBNL20",
864      "-DCONFIG_DEBUG_FILE",
865      "-DCONFIG_IEEE80211AC",
866      "-DCONFIG_IEEE80211AX",
867    ]
868    deps += [ "//third_party/libnl:libnl_share" ]
869  } else {
870    sources += [
871      "$WPA_ROOT_DIR/src/drivers/wpa_hal.c",
872      "$WPA_ROOT_DIR/src/drivers/wpa_hal_event.c",
873    ]
874    cflags += [
875      "-DCONFIG_DRIVER_HDF",
876      "-DCONFIG_OHOS_P2P",
877    ]
878  }
879  if ("${CONFIG_HISI}" == "true") {
880    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/driver_nl80211_hisi.c" ]
881    cflags += [
882      "-DCONFIG_DRIVER_NL80211_HISI",
883      "-DCONFIG_P2P_160M",
884    ]
885    if (use_musl) {
886      cflags += [ "-DCONFIG_DRIVER_NL80211_HISI_TRUNK" ]
887    }
888  }
889  cflags += ext_cflags
890
891  if (wpa_supplicant_ohos_certmgr) {
892    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/wpa_evp_key.c" ]
893    include_dirs += [ "//third_party/openssl" ]
894    sources += cert_manager_sources
895    deps += cert_manager_deps
896    external_deps += cert_manager_external_deps
897    include_dirs += cert_manager_include_dirs
898    defines += [ "CONFIG_OHOS_CERTMGR" ]
899  }
900  if (wpa_supplicant_vendor_ext) {
901    sources += wpa_vendor_ext_src
902    deps += [ "//third_party/cJSON:cjson" ]
903    include_dirs += [ "//third_party/cJSON" ]
904  }
905  if ("${CONFIG_EAPAUTH}" == "true") {
906    cflags += [ "-DCONFIG_EAP_AUTH" ]
907  }
908  install_images = [ chipset_base_dir ]
909  configs = [ ":wpa_warnings" ]
910  part_name = "wpa_supplicant"
911  subsystem_name = "thirdparty"
912}
913
914ohos_shared_library("wpa_updater") {
915  sanitize = {
916    cfi = true
917    integer_overflow = true
918    debug = false
919    blocklist = "./wpa_blocklist.txt"
920  }
921  output_name = "wpa_updater"
922  sources = wpa_base_sources
923
924  include_dirs = wpa_base_include_dirs
925
926  cflags = [
927    "-UANDROID",
928    "-fsigned-char",
929    "-DCONFIG_IEEE80211W",
930    "-DCONFIG_NO_VLAN",
931    "-DCONFIG_NO_RADIUS",
932    "-DCONFIG_NO_RANDOM_POOL",
933    "-DCONFIG_SHA256",
934    "-DCONFIG_CRYPTO_INTERNAL",
935    "-DCONFIG_INTERNAL_LIBTOMMATH",
936    "-DCONFIG_INTERNAL_SHA384",
937    "-DCONFIG_INTERNAL_SHA512",
938    "-DCONFIG_CTRL_IFACE",
939    "-DCONFIG_IBSS_RSN",
940    "-DIEEE8021X_EAPOL",
941    "-DUSERSPACE_CLIENT_SUPPORT",
942    "-DCONFIG_BACKEND_FILE",
943    "-DCONFIG_NO_CONFIG_BLOBS",
944    "-DCONFIG_NO_ACCOUNTING",
945    "-DEAP_SERVER_IDENTITY",
946    "-DCONFIG_IEEE80211N",
947    "-DHOSTAPD",
948    "-DNEED_AP_MLME",
949    "-DCONFIG_WPS",
950    "-DCONFIG_AP",
951    "-DCONFIG_P2P",
952    "-DEAP_WSC",
953    "-DEAP_SERVER_WSC",
954    "-DEAP_SERVER",
955    "-DCONFIG_GAS",
956    "-DCONFIG_OFFCHANNEL",
957    "-DCONFIG_MAGICLINK",
958    "-DCONFIG_OPEN_HARMONY_PATCH",
959    "-DEAP_MSCHAPV2",
960    "-DEAP_TLS",
961    "-DEAP_PEAP",
962    "-DEAP_TTLS",
963    "-DEAP_SIM",
964    "-DEAP_PWD",
965    "-DEAP_MSCHAPv2",
966    "-DCONFIG_SHA256",
967    "-DCONFIG_ECC",
968    "-DEAP_AKA",
969    "-DEAP_AKA_PRIME",
970    "-DEAP_TLS_OPENSSL",
971    "-DCONFIG_SAE",
972    "-DCONFIG_SUITEB192",
973    "-DCONFIG_SHA384",
974    "-DCONFIG_SUITEB",
975    "-DCONFIG_SME",
976    "-DCONFIG_WEP",
977    "-DPKCS12_FUNCS",
978    "-DEAP_GTC",
979  ]
980  if ("${CONFIG_CTRL_IFACE}" == "udp") {
981    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
982  } else {
983    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
984  }
985
986  if (wpa_supplicant_config_wfd) {
987    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
988  }
989
990  defines = [
991    "TLS_DEFAULT_CIPHERS = \"DEFAULT:!EXP:!LOW\"",
992    "OPENSSL_SUPPRESS_DEPRECATED",
993  ]
994  deps = [ "//third_party/bounds_checking_function:libsec_static" ]
995  external_deps = [
996    "drivers_peripheral_wlan:wpa_hdi_client",
997    "init:libbegetutil",
998  ]
999  if (wpa_supplicant_config_openssl) {
1000    deps += [
1001      "//third_party/openssl:libcrypto_shared",
1002      "//third_party/openssl:libssl_shared",
1003    ]
1004  }
1005
1006  if (wpa_supplicant_config_hilog) {
1007    external_deps += [ "hilog:libhilog" ]
1008  }
1009
1010  if ("${CONFIG_DRIVER}" == "nl80211") {
1011    sources += [
1012      "$WPA_ROOT_DIR/src/ap/ieee802_11_he.c",
1013      "$WPA_ROOT_DIR/src/ap/ieee802_11_vht.c",
1014      "$WPA_ROOT_DIR/src/drivers/driver_nl80211.c",
1015      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_capa.c",
1016      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_event.c",
1017      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_monitor.c",
1018      "$WPA_ROOT_DIR/src/drivers/driver_nl80211_scan.c",
1019      "$WPA_ROOT_DIR/src/drivers/linux_ioctl.c",
1020      "$WPA_ROOT_DIR/src/drivers/netlink.c",
1021      "$WPA_ROOT_DIR/src/drivers/rfkill.c",
1022    ]
1023    include_dirs += [
1024      "$WPA_ROOT_DIR/libnl/include/libnl3",
1025      "$WPA_ROOT_DIR/wpa_supplicant_lib",
1026    ]
1027
1028    cflags += [
1029      "-DCONFIG_DRIVER_NL80211",
1030      "-DCONFIG_LIBNL32",
1031      "-DCONFIG_LIBNL20",
1032      "-DCONFIG_DEBUG_FILE",
1033      "-DCONFIG_IEEE80211AC",
1034      "-DCONFIG_IEEE80211AX",
1035    ]
1036    deps += [ "//third_party/libnl:libnl_share" ]
1037  } else {
1038    sources += [
1039      "$WPA_ROOT_DIR/src/drivers/wpa_hal.c",
1040      "$WPA_ROOT_DIR/src/drivers/wpa_hal_event.c",
1041    ]
1042    cflags += [
1043      "-DCONFIG_DRIVER_HDF",
1044      "-DCONFIG_OHOS_P2P",
1045    ]
1046  }
1047  if ("${CONFIG_HISI}" == "true") {
1048    sources += [ "$WPA_ROOT_DIR/wpa_supplicant_lib/driver_nl80211_hisi.c" ]
1049    cflags += [ "-DCONFIG_DRIVER_NL80211_HISI" ]
1050    if (use_musl) {
1051      cflags += [ "-DCONFIG_DRIVER_NL80211_HISI_TRUNK" ]
1052    }
1053  }
1054  symlink_target_name = [ "libwpa.z.so" ]
1055  configs = [ ":wpa_warnings" ]
1056  part_name = "wpa_supplicant"
1057  subsystem_name = "thirdparty"
1058  install_images = [ "updater" ]
1059}
1060
1061ohos_executable("wpa_cli") {
1062  sources = [
1063    "$WPA_ROOT_DIR/src/common/cli.c",
1064    "$WPA_ROOT_DIR/src/common/wpa_ctrl.c",
1065    "$WPA_ROOT_DIR/src/utils/${CONFIG_ELOOP}.c",
1066    "$WPA_ROOT_DIR/src/utils/common.c",
1067    "$WPA_ROOT_DIR/src/utils/edit_simple.c",
1068    "$WPA_ROOT_DIR/src/utils/os_${CONFIG_OS}.c",
1069    "$WPA_ROOT_DIR/src/utils/wpa_debug.c",
1070    "$WPA_ROOT_DIR/wpa_supplicant/wpa_cli.c",
1071  ]
1072
1073  include_dirs = [
1074    "$WPA_ROOT_DIR/src",
1075    "$WPA_ROOT_DIR/src/utils",
1076    "$WPA_ROOT_DIR/src/drivers",
1077    "$WPA_ROOT_DIR/wpa_supplicant",
1078    "$WPA_ROOT_DIR/build/include",
1079    "//base/hiviewdfxhilog/interfaces/native/innerkits/include",
1080    "//base/startup/init/interfaces/innerkits/include/syspara",
1081  ]
1082
1083  cflags = [
1084    "-UANDROID",
1085    "-fsigned-char",
1086    "-DCONFIG_IEEE80211W",
1087    "-DCONFIG_NO_VLAN",
1088    "-DCONFIG_NO_RADIUS",
1089    "-DCONFIG_NO_RANDOM_POOL",
1090    "-DCONFIG_SHA256",
1091    "-DCONFIG_CRYPTO_INTERNAL",
1092    "-DCONFIG_INTERNAL_LIBTOMMATH",
1093    "-DCONFIG_INTERNAL_SHA384",
1094    "-DCONFIG_INTERNAL_SHA512",
1095    "-DCONFIG_CTRL_IFACE",
1096    "-DCONFIG_IBSS_RSN",
1097    "-DIEEE8021X_EAPOL",
1098    "-DUSERSPACE_CLIENT_SUPPORT",
1099    "-DCONFIG_BACKEND_FILE",
1100    "-DCONFIG_NO_CONFIG_BLOBS",
1101    "-DCONFIG_WPS",
1102    "-DCONFIG_AP",
1103    "-DCONFIG_P2P",
1104    "-DEAP_WSC",
1105    "-DEAP_SERVER_WSC",
1106    "-DEAP_SERVER",
1107    "-DCONFIG_GAS",
1108    "-DCONFIG_OFFCHANNEL",
1109    "-DCONFIG_MAGICLINK",
1110    "-DCONFIG_DEBUG_FILE",
1111    "-DCONFIG_OPEN_HARMONY_PATCH",
1112  ]
1113  if ("${CONFIG_CTRL_IFACE}" == "udp") {
1114    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
1115  } else {
1116    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
1117  }
1118
1119  if (wpa_supplicant_config_wfd) {
1120    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
1121  }
1122
1123  if ("${CONFIG_DRIVER}" == "nl80211") {
1124    include_dirs += [ "$WPA_ROOT_DIR/libnl/include/libnl3" ]
1125    cflags += [
1126      "-DCONFIG_DRIVER_NL80211",
1127      "-DCONFIG_LIBNL32",
1128    ]
1129  } else {
1130    cflags += [
1131      "-DCONFIG_DRIVER_HDF",
1132      "-DCONFIG_OHOS_P2P",
1133    ]
1134  }
1135
1136  if (wpa_supplicant_vendor_ext) {
1137    include_dirs += [ wpa_vendor_ext_inc_path ]
1138    sources += wpa_vendor_ext_src_cli
1139    cflags += ext_cflags
1140  }
1141
1142  external_deps = [ "init:libbegetutil" ]
1143  if (wpa_supplicant_config_hilog) {
1144    external_deps += [ "hilog:libhilog" ]
1145  }
1146
1147  configs = [ ":wpa_warnings" ]
1148  part_name = "wpa_supplicant"
1149  subsystem_name = "thirdparty"
1150}
1151
1152ohos_executable("hostapd_cli") {
1153  sources = [
1154    "$WPA_ROOT_DIR/hostapd/hostapd_cli.c",
1155    "$WPA_ROOT_DIR/src/common/cli.c",
1156    "$WPA_ROOT_DIR/src/common/wpa_ctrl.c",
1157    "$WPA_ROOT_DIR/src/utils/${CONFIG_ELOOP}.c",
1158    "$WPA_ROOT_DIR/src/utils/common.c",
1159    "$WPA_ROOT_DIR/src/utils/edit_simple.c",
1160    "$WPA_ROOT_DIR/src/utils/os_${CONFIG_OS}.c",
1161    "$WPA_ROOT_DIR/src/utils/wpa_debug.c",
1162  ]
1163
1164  include_dirs = [
1165    "$WPA_ROOT_DIR/src",
1166    "$WPA_ROOT_DIR/src/utils",
1167    "$WPA_ROOT_DIR/src/drivers",
1168    "$WPA_ROOT_DIR/wpa_supplicant",
1169    "$WPA_ROOT_DIR/build/include",
1170    "$WPA_ROOT_DIR/libnl/include/libnl3",
1171    "//base/hiviewdfxhilog/interfaces/native/innerkits/include",
1172    "//base/startup/init/interfaces/innerkits/include/syspara",
1173  ]
1174
1175  cflags = [
1176    "-UANDROID",
1177    "-fsigned-char",
1178    "-DCONFIG_IEEE80211W",
1179    "-DCONFIG_NO_VLAN",
1180    "-DCONFIG_NO_RADIUS",
1181    "-DCONFIG_NO_RANDOM_POOL",
1182    "-DCONFIG_SHA256",
1183    "-DCONFIG_CRYPTO_INTERNAL",
1184    "-DCONFIG_INTERNAL_LIBTOMMATH",
1185    "-DCONFIG_INTERNAL_SHA384",
1186    "-DCONFIG_INTERNAL_SHA512",
1187    "-DCONFIG_CTRL_IFACE",
1188    "-DCONFIG_IBSS_RSN",
1189    "-DIEEE8021X_EAPOL",
1190    "-DUSERSPACE_CLIENT_SUPPORT",
1191    "-DCONFIG_BACKEND_FILE",
1192    "-DCONFIG_NO_CONFIG_BLOBS",
1193    "-DCONFIG_NO_ACCOUNTING",
1194    "-DEAP_SERVER_IDENTITY",
1195    "-DCONFIG_IEEE80211N",
1196    "-DHOSTAPD",
1197    "-DNEED_AP_MLME",
1198    "-DCONFIG_WPS",
1199    "-DCONFIG_AP",
1200    "-DCONFIG_P2P",
1201    "-DEAP_WSC",
1202    "-DEAP_SERVER_WSC",
1203    "-DEAP_SERVER",
1204    "-DCONFIG_GAS",
1205    "-DCONFIG_OFFCHANNEL",
1206    "-DCONFIG_DEBUG_FILE",
1207    "-DCONFIG_OPEN_HARMONY_PATCH",
1208  ]
1209
1210  if ("${CONFIG_CTRL_IFACE}" == "udp") {
1211    cflags += [ "-DCONFIG_CTRL_IFACE_UDP" ]
1212  } else {
1213    cflags += [ "-DCONFIG_CTRL_IFACE_UNIX" ]
1214  }
1215
1216  if (wpa_supplicant_config_wfd) {
1217    cflags += [ "-DCONFIG_WIFI_DISPLAY" ]
1218  }
1219
1220  external_deps = [ "init:libbegetutil" ]
1221  if (wpa_supplicant_config_hilog) {
1222    external_deps += [ "hilog:libhilog" ]
1223  }
1224
1225  if ("${CONFIG_DRIVER}" == "nl80211") {
1226    cflags += [
1227      "-DCONFIG_DRIVER_NL80211",
1228      "-DCONFIG_LIBNL32",
1229    ]
1230  } else {
1231    cflags += [
1232      "-DCONFIG_DRIVER_HDF",
1233      "-DCONFIG_OHOS_P2P",
1234    ]
1235  }
1236  configs = [ ":wpa_warnings" ]
1237  part_name = "wpa_supplicant"
1238  subsystem_name = "thirdparty"
1239}
1240
1241ohos_executable("wpa_supplicant") {
1242  sources = [ "$WPA_ROOT_DIR/wpa_test/wpa_sample.c" ]
1243
1244  include_dirs = [ "$WPA_ROOT_DIR/build/include" ]
1245
1246  deps = [ "//third_party/wpa_supplicant/wpa_supplicant-2.9_standard:wpa" ]
1247  configs = [ ":wpa_warnings" ]
1248  cflags = [
1249    "-DCONFIG_DEBUG_FILE",
1250    "-DCONFIG_OPEN_HARMONY_PATCH",
1251  ]
1252  install_images = [ chipset_base_dir ]
1253  part_name = "wpa_supplicant"
1254  subsystem_name = "thirdparty"
1255}
1256
1257ohos_executable("hostapd") {
1258  sources = [ "$WPA_ROOT_DIR/hostapd_test/hostapd_sample.c" ]
1259
1260  include_dirs = [ "$WPA_ROOT_DIR/build/include" ]
1261
1262  deps = [ "//third_party/wpa_supplicant/wpa_supplicant-2.9_standard:wpa" ]
1263
1264  configs = [ ":wpa_warnings" ]
1265  cflags = [
1266    "-DCONFIG_DEBUG_FILE",
1267    "-DCONFIG_OPEN_HARMONY_PATCH",
1268  ]
1269  install_images = [ chipset_base_dir ]
1270  part_name = "wpa_supplicant"
1271  subsystem_name = "thirdparty"
1272}
1273