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