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