1// Copyright (C) 2021 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: [ 17 // Inherits SPDX-license-identifier-BSD-3-Clause 18 "external_wpa_supplicant_8_license", 19 ], 20} 21 22// See: http://go/android-license-faq 23license { 24 name: "external_wpa_supplicant_8_wpa_supplicant_icons_license", 25 license_kinds: ["SPDX-license-identifier-CC0-1.0"], 26 license_text: ["wpa_gui-qt4/icons/LICENSE"], 27} 28 29// Ostensibly unused. 30filegroup { 31 name: "wpa_supplicant_gui_qt4_icons", 32 srcs: ["wpa_gui-qt4/icons/*.svg"], 33 licenses: [ 34 "external_wpa_supplicant_8_license", 35 "external_wpa_supplicant_8_wpa_supplicant_icons_license", 36 ], 37} 38 39cc_library_headers { 40 name: "wpa_supplicant_headers", 41 export_include_dirs: [ 42 ".", 43 "src", 44 "src/common", 45 "src/drivers", 46 "src/eap_common", 47 "src/eapol_supp", 48 "src/eap_peer", 49 "src/eap_server", 50 "src/l2_packet", 51 "src/radius", 52 "src/rsn_supp", 53 "src/tls", 54 "src/utils", 55 "src/wps", 56 ], 57 soc_specific: true, 58} 59 60cc_library_headers { 61 name: "wpa_supplicant_headers_mainline", 62 export_include_dirs: [ 63 ".", 64 "src", 65 "src/common", 66 "src/drivers", 67 "src/eap_common", 68 "src/eapol_supp", 69 "src/eap_peer", 70 "src/eap_server", 71 "src/l2_packet", 72 "src/radius", 73 "src/rsn_supp", 74 "src/tls", 75 "src/utils", 76 "src/wps", 77 ], 78 apex_available: [ 79 "//apex_available:platform", 80 "com.android.wifi", 81 ], 82 min_sdk_version: "30", 83} 84 85filegroup { 86 name: "wpa_supplicant_template.conf", 87 srcs: ["wpa_supplicant_template.conf"], 88} 89 90cc_defaults { 91 name: "wpa_supplicant_defaults", 92 defaults: ["wpa_supplicant_cflags_defaults"], 93 srcs: [":wpa_supplicant_srcs"], 94 shared_libs: [ 95 "android.hardware.wifi.supplicant-V4-ndk", 96 "android.system.keystore2-V1-ndk", 97 "libbase", 98 "libbinder_ndk", 99 "libc", 100 "libcrypto", 101 "libcutils", 102 "libkeystore-engine-wifi-hidl", 103 "liblog", 104 "libnl", 105 "libssl", 106 "libutils", 107 ], 108 relative_install_path: "hw", 109 soc_specific: true, 110 static_libs: [ 111 "libwpa_aidl_bp", 112 ], 113 header_libs: [ 114 "wpa_supplicant_headers", 115 "libwpa_aidl_headers", 116 ], 117} 118 119cc_defaults { 120 name: "wpa_supplicant_cflags_defaults", 121 // Generated by building wpa_supplicant and printing LOCAL_CFLAGS. 122 cflags: [ 123 "-DANDROID_LOG_NAME=\"wpa_supplicant\"", 124 "-DANDROID_P2P", 125 "-DCONFIG_ACS", 126 "-DCONFIG_ANDROID_LOG", 127 "-DCONFIG_AP", 128 "-DCONFIG_BACKEND_FILE", 129 "-DCONFIG_CTRL_IFACE", 130 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"", 131 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"", 132 "-DCONFIG_CTRL_IFACE_AIDL", 133 "-DCONFIG_CTRL_IFACE_UNIX", 134 "-DCONFIG_DPP", 135 "-DCONFIG_DPP2", 136 "-DCONFIG_DRIVER_NL80211", 137 "-DCONFIG_ECC", 138 "-DCONFIG_ERP", 139 "-DCONFIG_FILS", 140 "-DCONFIG_GAS", 141 "-DCONFIG_GAS_SERVER", 142 "-DCONFIG_AIDL", 143 "-DCONFIG_HMAC_SHA256_KDF", 144 "-DCONFIG_HMAC_SHA384_KDF", 145 "-DCONFIG_HMAC_SHA512_KDF", 146 "-DCONFIG_HS20", 147 "-DCONFIG_IEEE80211AC", 148 "-DCONFIG_IEEE80211R", 149 "-DCONFIG_INTERWORKING", 150 "-DCONFIG_IPV6", 151 "-DCONFIG_JSON", 152 "-DCONFIG_MBO", 153 "-DCONFIG_NO_ACCOUNTING", 154 "-DCONFIG_NO_RADIUS", 155 "-DCONFIG_NO_RADIUS", 156 "-DCONFIG_NO_RANDOM_POOL", 157 "-DCONFIG_NO_VLAN", 158 "-DCONFIG_OFFCHANNEL", 159 "-DCONFIG_OWE", 160 "-DCONFIG_P2P", 161 "-DCONFIG_SAE", 162 "-DCONFIG_SAE_PK", 163 "-DCONFIG_SHA256", 164 "-DCONFIG_SHA384", 165 "-DCONFIG_SHA512", 166 "-DCONFIG_SMARTCARD", 167 "-DCONFIG_SME", 168 "-DCONFIG_SUITEB", 169 "-DCONFIG_SUITEB192", 170 "-DCONFIG_TDLS", 171 "-DCONFIG_WEP", 172 "-DCONFIG_WIFI_DISPLAY", 173 "-DCONFIG_WNM", 174 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"", 175 "-DCONFIG_WPS", 176 "-DCONFIG_WPS_ER", 177 "-DCONFIG_WPS_NFC", 178 "-DCONFIG_WPS_OOB", 179 "-DCONFIG_WPS_UPNP", 180 "-DEAP_AKA", 181 "-DEAP_AKA_PRIME", 182 "-DEAP_GTC", 183 "-DEAP_LEAP", 184 "-DEAP_MD5", 185 "-DEAP_MSCHAPv2", 186 "-DEAP_OTP", 187 "-DEAP_PEAP", 188 "-DCONFIG_PTKSA_CACHE", 189 "-DEAP_PWD", 190 "-DEAP_SERVER", 191 "-DEAP_SERVER_IDENTITY", 192 "-DEAP_SERVER_WSC", 193 "-DEAP_SIM", 194 "-DEAP_TLS", 195 "-DEAP_TLS_OPENSSL", 196 "-DEAP_TTLS", 197 "-DEAP_WSC", 198 "-DIEEE8021X_EAPOL", 199 "-DNEED_AP_MLME", 200 "-DPKCS12_FUNCS", 201 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 202 "-DWPA_IGNORE_CONFIG_ERRORS", 203 "-Wall", 204 "-Werror", 205 "-Wno-error=sometimes-uninitialized", 206 "-Wno-incompatible-pointer-types", 207 "-Wno-incompatible-pointer-types-discards-qualifiers", 208 "-Wno-macro-redefined", 209 "-Wno-parentheses-equality", 210 "-Wno-sign-compare", 211 "-Wno-unused-function", 212 "-Wno-unused-parameter", 213 "-Wno-unused-variable", 214 ] + 215 // Devices that include this module should set these soong config vars appropriately. 216 // For example: 217 // $(call soong_config_set, wpa_supplicant, platform_version, $(PLATFORM_VERSION)) 218 // $(call soong_config_set, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA) 219 select(soong_config_variable("wpa_supplicant", "platform_version"), { 220 any @ version: ["-DVERSION_STR_POSTFIX=\"-" + version + "\""], 221 default: ["-DVERSION_STR_POSTFIX=\"-Android\""], 222 }) + 223 select(soong_config_variable("wpa_supplicant", "nl80211_driver"), { 224 any @ driver: ["-D" + driver], 225 // Flag is optional, so no default value provided. 226 default: [], 227 }) + 228 select(soong_config_variable("wpa_supplicant", "roaming"), { 229 true: [], 230 default: ["-DCONFIG_NO_ROAMING"], 231 }) + 232 select(soong_config_variable("wpa_supplicant", "pasn"), { 233 false: [], 234 default: ["-DCONFIG_PASN"], 235 }) + 236 select(soong_config_variable("wpa_supplicant", "bgscan_simple"), { 237 true: [ 238 "-DCONFIG_BGSCAN", 239 "-DCONFIG_BGSCAN_SIMPLE", 240 ], 241 default: [], 242 }), 243 // Similar to suppressing clang compiler warnings, here we 244 // suppress clang-tidy warnings to reduce noises in Android build.log. 245 tidy_checks: [ 246 "-android-cloexec-*", 247 "-bugprone-branch-clone", 248 "-bugprone-macro-parentheses", 249 "-bugprone-misplaced-widening-cast", 250 "-bugprone-signal-handler", 251 "-bugprone-signed-char-misuse", 252 "-bugprone-sizeof-expression", 253 "-bugprone-suspicious-string-compare", 254 "-bugprone-too-small-loop-variable", 255 "-cert-err34-c", 256 "-cert-msc30-c", 257 "-cert-msc50-cpp", 258 "-cert-msc54-cpp", 259 "-cert-sig30-c", 260 "-cert-str34-c", 261 "-clang-analyzer-core.NullDereference", 262 "-clang-analyzer-core.UndefinedBinaryOperatorResult", 263 "-clang-analyzer-deadcode.DeadStores", 264 "-clang-analyzer-optin.performance.Padding", 265 "-clang-analyzer-optin.portability.UnixAPI", 266 "-clang-analyzer-security.insecureAPI.UncheckedReturn", 267 "-clang-analyzer-unix.cstring.NullArg", 268 "-clang-analyzer-unix.Malloc", 269 "-clang-diagnostic-unused-but-set-variable", 270 "-misc-redundant-expression", 271 ], 272} 273 274// Generated by building wpa_supplicant and printing LOCAL_SRC_FILES. 275filegroup { 276 name: "wpa_supplicant_srcs", 277 srcs: [ 278 "ap.c", 279 "bss.c", 280 "bssid_ignore.c", 281 "config.c", 282 "config_file.c", 283 "ctrl_iface.c", 284 "ctrl_iface_unix.c", 285 "dpp_supplicant.c", 286 "eap_register.c", 287 "events.c", 288 "gas_query.c", 289 "hs20_supplicant.c", 290 "interworking.c", 291 "main.c", 292 "mbo.c", 293 "notify.c", 294 "offchannel.c", 295 "op_classes.c", 296 "p2p_supplicant.c", 297 "p2p_supplicant_sd.c", 298 "robust_av.c", 299 "rrm.c", 300 "scan.c", 301 "sme.c", 302 "src/ap/acs.c", 303 "src/ap/ap_config.c", 304 "src/ap/ap_drv_ops.c", 305 "src/ap/ap_list.c", 306 "src/ap/comeback_token.c", 307 "src/ap/ap_mlme.c", 308 "src/ap/authsrv.c", 309 "src/ap/beacon.c", 310 "src/ap/bss_load.c", 311 "src/ap/ctrl_iface_ap.c", 312 "src/ap/dfs.c", 313 "src/ap/dpp_hostapd.c", 314 "src/ap/drv_callbacks.c", 315 "src/ap/eap_user_db.c", 316 "src/ap/fils_hlp.c", 317 "src/ap/gas_query_ap.c", 318 "src/ap/gas_serv.c", 319 "src/ap/hostapd.c", 320 "src/ap/hs20.c", 321 "src/ap/hw_features.c", 322 "src/ap/ieee802_11_auth.c", 323 "src/ap/ieee802_11.c", 324 "src/ap/ieee802_11_ht.c", 325 "src/ap/ieee802_11_shared.c", 326 "src/ap/ieee802_11_vht.c", 327 "src/ap/ieee802_1x.c", 328 "src/ap/mbo_ap.c", 329 "src/ap/neighbor_db.c", 330 "src/ap/p2p_hostapd.c", 331 "src/ap/pmksa_cache_auth.c", 332 "src/ap/rrm.c", 333 "src/ap/sta_info.c", 334 "src/ap/tkip_countermeasures.c", 335 "src/ap/utils.c", 336 "src/ap/wmm.c", 337 "src/ap/wpa_auth.c", 338 "src/ap/wpa_auth_glue.c", 339 "src/ap/wpa_auth_ie.c", 340 "src/ap/wps_hostapd.c", 341 "src/common/ctrl_iface_common.c", 342 "src/common/dpp_auth.c", 343 "src/common/dpp_backup.c", 344 "src/common/dpp.c", 345 "src/common/dpp_crypto.c", 346 "src/common/dpp_pkex.c", 347 "src/common/dpp_reconfig.c", 348 "src/common/dpp_tcp.c", 349 "src/common/dragonfly.c", 350 "src/common/gas.c", 351 "src/common/gas_server.c", 352 "src/common/hw_features_common.c", 353 "src/common/ieee802_11_common.c", 354 "src/common/sae.c", 355 "src/common/sae_pk.c", 356 "src/common/wpa_common.c", 357 "src/common/ptksa_cache.c", 358 "src/crypto/aes-ctr.c", 359 "src/crypto/aes-encblock.c", 360 "src/crypto/aes-siv.c", 361 "src/crypto/crypto_openssl.c", 362 "src/crypto/dh_groups.c", 363 "src/crypto/fips_prf_openssl.c", 364 "src/crypto/milenage.c", 365 "src/crypto/ms_funcs.c", 366 "src/crypto/sha1-prf.c", 367 "src/crypto/sha1-tlsprf.c", 368 "src/crypto/sha256-kdf.c", 369 "src/crypto/sha256-prf.c", 370 "src/crypto/sha256-tlsprf.c", 371 "src/crypto/sha384-kdf.c", 372 "src/crypto/sha384-prf.c", 373 "src/crypto/sha512-kdf.c", 374 "src/crypto/sha512-prf.c", 375 "src/crypto/tls_openssl.c", 376 "src/crypto/tls_openssl_ocsp.c", 377 "src/drivers/driver_common.c", 378 "src/drivers/driver_nl80211_android.c", 379 "src/drivers/driver_nl80211.c", 380 "src/drivers/driver_nl80211_capa.c", 381 "src/drivers/driver_nl80211_event.c", 382 "src/drivers/driver_nl80211_monitor.c", 383 "src/drivers/driver_nl80211_scan.c", 384 "src/drivers/drivers.c", 385 "src/drivers/linux_ioctl.c", 386 "src/drivers/netlink.c", 387 "src/drivers/rfkill.c", 388 "src/eap_common/chap.c", 389 "src/eap_common/eap_common.c", 390 "src/eap_common/eap_peap_common.c", 391 "src/eap_common/eap_pwd_common.c", 392 "src/eap_common/eap_sim_common.c", 393 "src/eap_common/eap_wsc_common.c", 394 "src/eapol_auth/eapol_auth_sm.c", 395 "src/eapol_supp/eapol_supp_sm.c", 396 "src/eap_peer/eap_aka.c", 397 "src/eap_peer/eap.c", 398 "src/eap_peer/eap_gtc.c", 399 "src/eap_peer/eap_leap.c", 400 "src/eap_peer/eap_md5.c", 401 "src/eap_peer/eap_methods.c", 402 "src/eap_peer/eap_mschapv2.c", 403 "src/eap_peer/eap_otp.c", 404 "src/eap_peer/eap_peap.c", 405 "src/eap_peer/eap_pwd.c", 406 "src/eap_peer/eap_sim.c", 407 "src/eap_peer/eap_tls.c", 408 "src/eap_peer/eap_tls_common.c", 409 "src/eap_peer/eap_ttls.c", 410 "src/eap_peer/eap_wsc.c", 411 "src/eap_peer/mschapv2.c", 412 "src/eap_server/eap_server.c", 413 "src/eap_server/eap_server_identity.c", 414 "src/eap_server/eap_server_methods.c", 415 "src/eap_server/eap_server_wsc.c", 416 "src/l2_packet/l2_packet_linux.c", 417 "src/p2p/p2p_build.c", 418 "src/p2p/p2p.c", 419 "src/p2p/p2p_dev_disc.c", 420 "src/p2p/p2p_go_neg.c", 421 "src/p2p/p2p_group.c", 422 "src/p2p/p2p_invitation.c", 423 "src/p2p/p2p_parse.c", 424 "src/p2p/p2p_pd.c", 425 "src/p2p/p2p_sd.c", 426 "src/p2p/p2p_utils.c", 427 "src/rsn_supp/pmksa_cache.c", 428 "src/rsn_supp/preauth.c", 429 "src/rsn_supp/tdls.c", 430 "src/rsn_supp/wpa.c", 431 "src/rsn_supp/wpa_ft.c", 432 "src/rsn_supp/wpa_ie.c", 433 "src/tls/asn1.c", 434 "src/utils/base64.c", 435 "src/utils/bitfield.c", 436 "src/utils/common.c", 437 "src/utils/config.c", 438 "src/utils/crc32.c", 439 "src/utils/eloop.c", 440 "src/utils/ip_addr.c", 441 "src/utils/json.c", 442 "src/utils/os_unix.c", 443 "src/utils/radiotap.c", 444 "src/utils/uuid.c", 445 "src/utils/wpabuf.c", 446 "src/utils/wpa_debug.c", 447 "src/wps/http_client.c", 448 "src/wps/httpread.c", 449 "src/wps/http_server.c", 450 "src/wps/ndef.c", 451 "src/wps/upnp_xml.c", 452 "src/wps/wps_attr_build.c", 453 "src/wps/wps_attr_parse.c", 454 "src/wps/wps_attr_process.c", 455 "src/wps/wps.c", 456 "src/wps/wps_common.c", 457 "src/wps/wps_dev_attr.c", 458 "src/wps/wps_enrollee.c", 459 "src/wps/wps_er.c", 460 "src/wps/wps_er_ssdp.c", 461 "src/wps/wps_registrar.c", 462 "src/wps/wps_upnp_ap.c", 463 "src/wps/wps_upnp.c", 464 "src/wps/wps_upnp_event.c", 465 "src/wps/wps_upnp_ssdp.c", 466 "src/wps/wps_upnp_web.c", 467 "twt.c", 468 "wifi_display.c", 469 "wmm_ac.c", 470 "wnm_sta.c", 471 "wpas_glue.c", 472 "wpa_supplicant.c", 473 "wps_supplicant.c", 474 ] + 475 select(soong_config_variable("wpa_supplicant", "bgscan_simple"), { 476 true: [ 477 "bgscan.c", 478 "bgscan_simple.c", 479 ], 480 default: [], 481 }) + 482 select(soong_config_variable("wpa_supplicant", "pasn"), { 483 false: [], 484 default: [ 485 "pasn_supplicant.c", 486 "src/pasn/pasn_initiator.c", 487 "src/pasn/pasn_responder.c", 488 "src/pasn/pasn_common.c", 489 ], 490 }), 491 492} 493 494// Generated by building wpa_cli and printing LOCAL_SRC_FILES 495filegroup { 496 name: "wpa_cli_srcs", 497 srcs: [ 498 "src/common/cli.c", 499 "src/common/wpa_ctrl.c", 500 "src/utils/common.c", 501 "src/utils/edit.c", 502 "src/utils/eloop.c", 503 "src/utils/os_unix.c", 504 "src/utils/wpa_debug.c", 505 "wpa_cli.c", 506 ], 507} 508 509// Generated by building libwpa_client and printing LOCAL_SRC_FILES 510filegroup { 511 name: "libwpa_client_srcs", 512 srcs: [ 513 "src/common/wpa_ctrl.c", 514 "src/utils/os_unix.c", 515 ], 516} 517 518cc_library_headers { 519 name: "libwpa_client_headers", 520 export_include_dirs: [ 521 ".", 522 "wpa_client_include/libwpa_client", 523 ], 524 soc_specific: true, 525} 526 527cc_library { 528 name: "libpasn", 529 vendor: true, 530 cflags: [ 531 "-DANDROID_LOG_NAME=\"libpasn\"", 532 "-DANDROID_P2P", 533 "-DCONFIG_ACS", 534 "-DCONFIG_ANDROID_LOG", 535 "-DCONFIG_AP", 536 "-DCONFIG_BACKEND_FILE", 537 "-DCONFIG_CTRL_IFACE", 538 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"", 539 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"", 540 "-DCONFIG_CTRL_IFACE_AIDL", 541 "-DCONFIG_CTRL_IFACE_UNIX", 542 "-DCONFIG_DPP", 543 "-DCONFIG_DPP2", 544 "-DCONFIG_DRIVER_NL80211", 545 "-DCONFIG_ECC", 546 "-DCONFIG_ERP", 547 "-DCONFIG_FILS", 548 "-DCONFIG_GAS", 549 "-DCONFIG_GAS_SERVER", 550 "-DCONFIG_AIDL", 551 "-DCONFIG_HMAC_SHA256_KDF", 552 "-DCONFIG_HMAC_SHA384_KDF", 553 "-DCONFIG_HMAC_SHA512_KDF", 554 "-DCONFIG_HS20", 555 "-DCONFIG_IEEE80211AC", 556 "-DCONFIG_IEEE80211R", 557 "-DCONFIG_INTERWORKING", 558 "-DCONFIG_IPV6", 559 "-DCONFIG_JSON", 560 "-DCONFIG_MBO", 561 "-DCONFIG_NO_ACCOUNTING", 562 "-DCONFIG_NO_RADIUS", 563 "-DCONFIG_NO_RADIUS", 564 "-DCONFIG_NO_RANDOM_POOL", 565 "-DCONFIG_NO_ROAMING", 566 "-DCONFIG_NO_VLAN", 567 "-DCONFIG_OFFCHANNEL", 568 "-DCONFIG_OWE", 569 "-DCONFIG_P2P", 570 "-DCONFIG_SAE", 571 "-DCONFIG_SAE_PK", 572 "-DCONFIG_SHA256", 573 "-DCONFIG_SHA384", 574 "-DCONFIG_SHA512", 575 "-DCONFIG_SMARTCARD", 576 "-DCONFIG_SME", 577 "-DCONFIG_SUITEB", 578 "-DCONFIG_SUITEB192", 579 "-DCONFIG_TDLS", 580 "-DCONFIG_WEP", 581 "-DCONFIG_WIFI_DISPLAY", 582 "-DCONFIG_WNM", 583 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"", 584 "-DCONFIG_WPS", 585 "-DCONFIG_WPS_ER", 586 "-DCONFIG_WPS_NFC", 587 "-DCONFIG_WPS_OOB", 588 "-DCONFIG_WPS_UPNP", 589 "-DEAP_AKA", 590 "-DEAP_AKA_PRIME", 591 "-DEAP_GTC", 592 "-DEAP_LEAP", 593 "-DEAP_MD5", 594 "-DEAP_MSCHAPv2", 595 "-DEAP_OTP", 596 "-DEAP_PEAP", 597 "-DCONFIG_PASN", 598 "-DCONFIG_PTKSA_CACHE", 599 "-DEAP_PWD", 600 "-DEAP_SERVER", 601 "-DEAP_SERVER_IDENTITY", 602 "-DEAP_SERVER_WSC", 603 "-DEAP_SIM", 604 "-DEAP_TLS", 605 "-DEAP_TLS_OPENSSL", 606 "-DEAP_TTLS", 607 "-DEAP_WSC", 608 "-DIEEE8021X_EAPOL", 609 "-DNEED_AP_MLME", 610 "-DPKCS12_FUNCS", 611 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 612 "-DWPA_IGNORE_CONFIG_ERRORS", 613 "-Wall", 614 "-Werror", 615 "-Wno-error=sometimes-uninitialized", 616 "-Wno-incompatible-pointer-types", 617 "-Wno-incompatible-pointer-types-discards-qualifiers", 618 "-Wno-macro-redefined", 619 "-Wno-parentheses-equality", 620 "-Wno-sign-compare", 621 "-Wno-unused-function", 622 "-Wno-unused-parameter", 623 "-Wno-unused-variable", 624 ], 625 product_variables: { 626 debuggable: { 627 cflags: ["-DLOG_NDEBUG=0"], 628 }, 629 }, 630 local_include_dirs: [ 631 ".", 632 "src", 633 "src/common", 634 "src/drivers", 635 "src/eap_common", 636 "src/eapol_supp", 637 "src/eap_peer", 638 "src/eap_server", 639 "src/l2_packet", 640 "src/radius", 641 "src/rsn_supp", 642 "src/tls", 643 "src/utils", 644 "src/wps", 645 ], 646 srcs: [ 647 "src/utils/eloop.c", 648 "src/utils/wpa_debug.c", 649 "src/utils/wpabuf.c", 650 "src/utils/os_unix.c", 651 "src/utils/config.c", 652 "src/utils/common.c", 653 "src/utils/base64.c", 654 "src/common/sae.c", 655 "src/common/sae_pk.c", 656 "src/common/wpa_common.c", 657 "src/common/ieee802_11_common.c", 658 "src/common/dragonfly.c", 659 "src/common/ptksa_cache.c", 660 "src/rsn_supp/pmksa_cache.c", 661 "src/rsn_supp/wpa_ie.c", 662 "src/ap/comeback_token.c", 663 "src/ap/pmksa_cache_auth.c", 664 "src/eap_common/eap_common.c", 665 "src/eap_common/chap.c", 666 "src/eap_peer/eap.c", 667 "src/eap_peer/eap_methods.c", 668 "src/eapol_supp/eapol_supp_sm.c", 669 "src/crypto/crypto_openssl.c", 670 "src/crypto/tls_openssl.c", 671 "src/crypto/tls_openssl_ocsp.c", 672 "src/crypto/sha256-tlsprf.c", 673 "src/crypto/sha512-prf.c", 674 "src/crypto/sha384-prf.c", 675 "src/crypto/sha256-prf.c", 676 "src/crypto/sha512-kdf.c", 677 "src/crypto/sha384-kdf.c", 678 "src/crypto/sha256-kdf.c", 679 "src/crypto/dh_groups.c", 680 "src/crypto/aes-siv.c", 681 "src/crypto/aes-ctr.c", 682 "src/crypto/sha1-prf.c", 683 "src/crypto/sha1-tlsprf.c", 684 "src/pasn/pasn_initiator.c", 685 "src/pasn/pasn_responder.c", 686 "src/pasn/pasn_common.c", 687 ], 688 shared_libs: [ 689 "libc", 690 "libcutils", 691 "liblog", 692 "libcrypto", 693 "libssl", 694 "libkeystore-engine-wifi-hidl", 695 ], 696 sanitize: { 697 misc_undefined: [ 698 "unsigned-integer-overflow", 699 "signed-integer-overflow", 700 ], 701 cfi: true, 702 }, 703} 704 705// For converting the default to soong 706cc_defaults { 707 name: "wpa_supplicant_driver_srcs_default", 708 srcs: [ 709 "src/drivers/driver_nl80211.c", 710 "src/drivers/driver_nl80211_android.c", 711 "src/drivers/driver_nl80211_capa.c", 712 "src/drivers/driver_nl80211_event.c", 713 "src/drivers/driver_nl80211_monitor.c", 714 "src/drivers/driver_nl80211_scan.c", 715 "src/drivers/linux_ioctl.c", 716 "src/drivers/netlink.c", 717 "src/drivers/rfkill.c", 718 "src/utils/radiotap.c", 719 ], 720} 721 722cc_defaults { 723 name: "wpa_supplicant_driver_cflags_default", 724 cflags: [ 725 "-DCONFIG_DRIVER_NL80211", 726 // Because the original Android.mk will call hostapd's Android.mk first and it 727 // will make the flag share with wpa_supplicant, keep the original logic in hostapd. 728 ] + select(soong_config_variable("wpa_supplicant_8", "board_wlan_device"), { 729 "bcmdhd": ["-DCONFIG_DRIVER_NL80211_BRCM"], 730 "synadhd": ["-DCONFIG_DRIVER_NL80211_SYNA"], 731 "qcwcn": ["-DCONFIG_DRIVER_NL80211_QCA"], 732 default: ["-DCONFIG_DRIVER_NL80211_QCA"], 733 }), 734} 735 736cc_defaults { 737 name: "wpa_supplicant_includes_default", 738 local_include_dirs: [ 739 ".", 740 "src", 741 "src/common", 742 "src/drivers", 743 "src/eap_common", 744 "src/eap_peer", 745 "src/eap_server", 746 "src/eapol_supp", 747 "src/l2_packet", 748 "src/pasn", 749 "src/radius", 750 "src/rsn_supp", 751 "src/tls", 752 "src/utils", 753 "src/wps", 754 ], 755 include_dirs: [ 756 // There's an if condition for external/libnl but current code base should always have this. 757 "external/libnl/include", 758 "system/security/keystore/include", 759 ], 760} 761 762soong_config_module_type { 763 name: "wpa_supplicant_cc_defaults_type", 764 module_type: "cc_defaults", 765 config_namespace: "wpa_supplicant_8", 766 value_variables: [ 767 "platform_version", 768 ], 769 properties: ["cflags"], 770} 771 772// Hostap related module share the same CFLAGS 773wpa_supplicant_cc_defaults_type { 774 name: "wpa_supplicant_no_aidl_cflags_default", 775 cflags: [ 776 "-DANDROID_LOG_NAME=\"wpa_supplicant\"", 777 "-DANDROID_P2P", 778 "-DCONFIG_ACS", 779 "-DCONFIG_ANDROID_LOG", 780 "-DCONFIG_AP", 781 "-DCONFIG_BACKEND_FILE", 782 "-DCONFIG_CTRL_IFACE", 783 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"", 784 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"", 785 "-DCONFIG_CTRL_IFACE_UNIX", 786 "-DCONFIG_DPP", 787 "-DCONFIG_DPP2", 788 "-DCONFIG_DRIVER_NL80211", 789 "-DCONFIG_DRIVER_NL80211_QCA", 790 "-DCONFIG_ECC", 791 "-DCONFIG_ERP", 792 "-DCONFIG_FILS", 793 "-DCONFIG_GAS", 794 "-DCONFIG_GAS_SERVER", 795 "-DCONFIG_HMAC_SHA256_KDF", 796 "-DCONFIG_HMAC_SHA384_KDF", 797 "-DCONFIG_HMAC_SHA512_KDF", 798 "-DCONFIG_HS20", 799 "-DCONFIG_IEEE80211AC", 800 "-DCONFIG_IEEE80211R", 801 "-DCONFIG_INTERWORKING", 802 "-DCONFIG_IPV6", 803 "-DCONFIG_JSON", 804 "-DCONFIG_MBO", 805 "-DCONFIG_NO_ACCOUNTING", 806 "-DCONFIG_NO_RADIUS", 807 "-DCONFIG_NO_RADIUS", 808 "-DCONFIG_NO_RANDOM_POOL", 809 "-DCONFIG_NO_ROAMING", 810 "-DCONFIG_NO_VLAN", 811 "-DCONFIG_OFFCHANNEL", 812 "-DCONFIG_OWE", 813 "-DCONFIG_P2P", 814 "-DCONFIG_PASN", 815 "-DCONFIG_PTKSA_CACHE", 816 "-DCONFIG_SAE", 817 "-DCONFIG_SAE_PK", 818 "-DCONFIG_SHA256", 819 "-DCONFIG_SHA384", 820 "-DCONFIG_SHA512", 821 "-DCONFIG_SMARTCARD", 822 "-DCONFIG_SME", 823 "-DCONFIG_SUITEB", 824 "-DCONFIG_SUITEB192", 825 "-DCONFIG_TDLS", 826 "-DCONFIG_WEP", 827 "-DCONFIG_WIFI_DISPLAY", 828 "-DCONFIG_WNM", 829 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"", 830 "-DCONFIG_WPS", 831 "-DCONFIG_WPS_ER", 832 "-DCONFIG_WPS_NFC", 833 "-DCONFIG_WPS_OOB", 834 "-DCONFIG_WPS_UPNP", 835 "-DCRYPTO_RSA_OAEP_SHA256", 836 "-DEAP_AKA", 837 "-DEAP_AKA_PRIME", 838 "-DEAP_GTC", 839 "-DEAP_LEAP", 840 "-DEAP_MD5", 841 "-DEAP_MSCHAPv2", 842 "-DEAP_OTP", 843 "-DEAP_PEAP", 844 "-DEAP_PWD", 845 "-DEAP_SERVER", 846 "-DEAP_SERVER_IDENTITY", 847 "-DEAP_SERVER_WSC", 848 "-DEAP_SIM", 849 "-DEAP_TLS", 850 "-DEAP_TLSV1_3", 851 "-DEAP_TLS_OPENSSL", 852 "-DEAP_TTLS", 853 "-DEAP_WSC", 854 "-DIEEE8021X_EAPOL", 855 "-DNEED_AP_MLME", 856 "-DPKCS12_FUNCS", 857 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 858 "-DWPA_IGNORE_CONFIG_ERRORS", 859 "-Wall", 860 "-Werror", 861 "-Wno-error=sometimes-uninitialized", 862 "-Wno-incompatible-pointer-types", 863 "-Wno-incompatible-pointer-types-discards-qualifiers", 864 "-Wno-macro-redefined", 865 "-Wno-parentheses-equality", 866 "-Wno-sign-compare", 867 "-Wno-unused-function", 868 "-Wno-unused-parameter", 869 "-Wno-unused-variable", 870 ] + select(soong_config_variable("wpa_supplicant_8", "wpa_supplicant_use_stub_lib"), { 871 true: ["-DANDROID_LIB_STUB"], 872 default: [], 873 }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), { 874 true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"], 875 default: [], 876 }) + select(soong_config_variable("wpa_supplicant_8", "board_wpa_supplicant_private_lib_event"), { 877 true: ["-DANDROID_LIB_EVENT"], 878 default: [], 879 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_priv_cmd_update_mbo_cell_status"), { 880 true: ["-DENABLE_PRIV_CMD_UPDATE_MBO_CELL_STATUS"], 881 default: [], 882 }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), { 883 true: ["-DCONFIG_IEEE80211AX"], 884 default: [], 885 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_brcm_open_source_multi_akm"), { 886 true: ["-DWIFI_BRCM_OPEN_SOURCE_MULTI_AKM"], 887 default: [], 888 }), 889 arch: { 890 arm: { 891 cflags: [ 892 "-mabi=aapcs-linux", 893 ], 894 }, 895 }, 896 defaults: [ 897 "wpa_supplicant_driver_cflags_default", 898 ], 899 soong_config_variables: { 900 platform_version: { 901 cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""], 902 }, 903 }, 904} 905 906cc_defaults { 907 name: "wpa_supplicant_cflags_default", 908 cflags: [ 909 "-DCONFIG_AIDL", 910 "-DCONFIG_CTRL_IFACE_AIDL", 911 ], 912 defaults: [ 913 "wpa_supplicant_no_aidl_cflags_default", 914 ], 915} 916 917wpa_supplicant_cc_defaults_type { 918 name: "wpa_supplicant_mainline_cflags_default", 919 cflags: [ 920 "-DANDROID_LIB_STUB", 921 "-DANDROID_LOG_NAME=\"mainline_supplicant\"", 922 "-DCONFIG_ANDROID_LOG", 923 "-DCONFIG_BACKEND_FILE", 924 "-DCONFIG_CTRL_IFACE", 925 "-DCONFIG_CTRL_IFACE_UNIX", 926 "-DCONFIG_DRIVER_NL80211", 927 "-DCONFIG_NO_ACCOUNTING", 928 "-DCONFIG_NO_CONFIG_BLOBS", 929 "-DCONFIG_NO_CONFIG_WRITE", 930 "-DCONFIG_NO_RADIUS", 931 "-DCONFIG_NO_RANDOM_POOL", 932 "-DCONFIG_NO_ROAMING", 933 "-DCONFIG_NO_ROBUST_AV", 934 "-DCONFIG_NO_RRM", 935 "-DCONFIG_NO_SCAN_PROCESSING", 936 "-DCONFIG_NO_TKIP", 937 "-DCONFIG_NO_VLAN", 938 "-DCONFIG_NO_WMM_AC", 939 "-DCONFIG_NO_WPA", 940 "-DCONFIG_NO_WPA_PASSPHRASE", 941 "-DCONFIG_OFFCHANNEL", 942 "-DMAINLINE_SUPPLICANT", 943 "-DOPENSSL_NO_ENGINE", 944 "-DWPA_IGNORE_CONFIG_ERRORS", 945 "-Wall", 946 "-Werror", 947 "-Wno-error=sometimes-uninitialized", 948 "-Wno-incompatible-pointer-types", 949 "-Wno-incompatible-pointer-types-discards-qualifiers", 950 "-Wno-macro-redefined", 951 "-Wno-parentheses-equality", 952 "-Wno-sign-compare", 953 "-Wno-unused-function", 954 "-Wno-unused-parameter", 955 "-Wno-unused-variable", 956 ], 957} 958 959cc_defaults { 960 name: "wpa_supplicant_srcs_default", 961 srcs: [ 962 "ap.c", 963 "bss.c", 964 "bssid_ignore.c", 965 "config.c", 966 "config_file.c", 967 "ctrl_iface.c", 968 "ctrl_iface_unix.c", 969 "dpp_supplicant.c", 970 "eap_register.c", 971 "events.c", 972 "gas_query.c", 973 "hs20_supplicant.c", 974 "interworking.c", 975 "main.c", 976 "mbo.c", 977 "notify.c", 978 "offchannel.c", 979 "op_classes.c", 980 "p2p_supplicant.c", 981 "p2p_supplicant_sd.c", 982 "pasn_supplicant.c", 983 "robust_av.c", 984 "rrm.c", 985 "scan.c", 986 "sme.c", 987 "twt.c", 988 "wifi_display.c", 989 "wmm_ac.c", 990 "wnm_sta.c", 991 "wpa_supplicant.c", 992 "wpas_glue.c", 993 "wps_supplicant.c", 994 "src/ap/acs.c", 995 "src/ap/ap_config.c", 996 "src/ap/ap_drv_ops.c", 997 "src/ap/ap_list.c", 998 "src/ap/ap_mlme.c", 999 "src/ap/authsrv.c", 1000 "src/ap/beacon.c", 1001 "src/ap/bss_load.c", 1002 "src/ap/comeback_token.c", 1003 "src/ap/ctrl_iface_ap.c", 1004 "src/ap/dfs.c", 1005 "src/ap/dpp_hostapd.c", 1006 "src/ap/drv_callbacks.c", 1007 "src/ap/eap_user_db.c", 1008 "src/ap/fils_hlp.c", 1009 "src/ap/gas_query_ap.c", 1010 "src/ap/gas_serv.c", 1011 "src/ap/hostapd.c", 1012 "src/ap/hs20.c", 1013 "src/ap/hw_features.c", 1014 "src/ap/ieee802_11.c", 1015 "src/ap/ieee802_11_auth.c", 1016 "src/ap/ieee802_11_ht.c", 1017 "src/ap/ieee802_11_shared.c", 1018 "src/ap/ieee802_11_vht.c", 1019 "src/ap/ieee802_1x.c", 1020 "src/ap/mbo_ap.c", 1021 "src/ap/neighbor_db.c", 1022 "src/ap/p2p_hostapd.c", 1023 "src/ap/pmksa_cache_auth.c", 1024 "src/ap/rrm.c", 1025 "src/ap/sta_info.c", 1026 "src/ap/tkip_countermeasures.c", 1027 "src/ap/utils.c", 1028 "src/ap/wmm.c", 1029 "src/ap/wpa_auth.c", 1030 "src/ap/wpa_auth_glue.c", 1031 "src/ap/wpa_auth_ie.c", 1032 "src/ap/wps_hostapd.c", 1033 "src/common/ctrl_iface_common.c", 1034 "src/common/dpp.c", 1035 "src/common/dpp_auth.c", 1036 "src/common/dpp_backup.c", 1037 "src/common/dpp_crypto.c", 1038 "src/common/dpp_pkex.c", 1039 "src/common/dpp_reconfig.c", 1040 "src/common/dpp_tcp.c", 1041 "src/common/dragonfly.c", 1042 "src/common/gas.c", 1043 "src/common/gas_server.c", 1044 "src/common/hw_features_common.c", 1045 "src/common/ieee802_11_common.c", 1046 "src/common/ptksa_cache.c", 1047 "src/common/sae.c", 1048 "src/common/sae_pk.c", 1049 "src/common/wpa_common.c", 1050 "src/crypto/aes-ctr.c", 1051 "src/crypto/aes-siv.c", 1052 "src/crypto/crypto_openssl.c", 1053 "src/crypto/dh_groups.c", 1054 "src/crypto/fips_prf_openssl.c", 1055 "src/crypto/ms_funcs.c", 1056 "src/crypto/sha1-prf.c", 1057 "src/crypto/sha1-tlsprf.c", 1058 "src/crypto/sha256-kdf.c", 1059 "src/crypto/sha256-prf.c", 1060 "src/crypto/sha256-tlsprf.c", 1061 "src/crypto/sha384-kdf.c", 1062 "src/crypto/sha384-prf.c", 1063 "src/crypto/sha512-kdf.c", 1064 "src/crypto/sha512-prf.c", 1065 "src/crypto/tls_openssl.c", 1066 "src/crypto/tls_openssl_ocsp.c", 1067 "src/drivers/driver_common.c", 1068 "src/drivers/driver_nl80211.c", 1069 "src/drivers/driver_nl80211_android.c", 1070 "src/drivers/driver_nl80211_capa.c", 1071 "src/drivers/driver_nl80211_event.c", 1072 "src/drivers/driver_nl80211_monitor.c", 1073 "src/drivers/driver_nl80211_scan.c", 1074 "src/drivers/drivers.c", 1075 "src/drivers/linux_ioctl.c", 1076 "src/drivers/netlink.c", 1077 "src/drivers/rfkill.c", 1078 "src/eap_common/chap.c", 1079 "src/eap_common/eap_common.c", 1080 "src/eap_common/eap_peap_common.c", 1081 "src/eap_common/eap_pwd_common.c", 1082 "src/eap_common/eap_sim_common.c", 1083 "src/eap_common/eap_wsc_common.c", 1084 "src/eap_peer/eap.c", 1085 "src/eap_peer/eap_aka.c", 1086 "src/eap_peer/eap_gtc.c", 1087 "src/eap_peer/eap_leap.c", 1088 "src/eap_peer/eap_md5.c", 1089 "src/eap_peer/eap_methods.c", 1090 "src/eap_peer/eap_mschapv2.c", 1091 "src/eap_peer/eap_otp.c", 1092 "src/eap_peer/eap_peap.c", 1093 "src/eap_peer/eap_pwd.c", 1094 "src/eap_peer/eap_sim.c", 1095 "src/eap_peer/eap_tls.c", 1096 "src/eap_peer/eap_tls_common.c", 1097 "src/eap_peer/eap_ttls.c", 1098 "src/eap_peer/eap_wsc.c", 1099 "src/eap_peer/mschapv2.c", 1100 "src/eap_server/eap_server.c", 1101 "src/eap_server/eap_server_identity.c", 1102 "src/eap_server/eap_server_methods.c", 1103 "src/eap_server/eap_server_wsc.c", 1104 "src/eapol_auth/eapol_auth_sm.c", 1105 "src/eapol_supp/eapol_supp_sm.c", 1106 "src/l2_packet/l2_packet_linux.c", 1107 "src/p2p/p2p.c", 1108 "src/p2p/p2p_build.c", 1109 "src/p2p/p2p_dev_disc.c", 1110 "src/p2p/p2p_go_neg.c", 1111 "src/p2p/p2p_group.c", 1112 "src/p2p/p2p_invitation.c", 1113 "src/p2p/p2p_parse.c", 1114 "src/p2p/p2p_pd.c", 1115 "src/p2p/p2p_sd.c", 1116 "src/p2p/p2p_utils.c", 1117 "src/pasn/pasn_common.c", 1118 "src/pasn/pasn_initiator.c", 1119 "src/pasn/pasn_responder.c", 1120 "src/rsn_supp/pmksa_cache.c", 1121 "src/rsn_supp/preauth.c", 1122 "src/rsn_supp/tdls.c", 1123 "src/rsn_supp/wpa.c", 1124 "src/rsn_supp/wpa_ft.c", 1125 "src/rsn_supp/wpa_ie.c", 1126 "src/tls/asn1.c", 1127 "src/utils/base64.c", 1128 "src/utils/bitfield.c", 1129 "src/utils/common.c", 1130 "src/utils/config.c", 1131 "src/utils/crc32.c", 1132 "src/utils/eloop.c", 1133 "src/utils/ip_addr.c", 1134 "src/utils/json.c", 1135 "src/utils/os_unix.c", 1136 "src/utils/radiotap.c", 1137 "src/utils/uuid.c", 1138 "src/utils/wpa_debug.c", 1139 "src/utils/wpabuf.c", 1140 "src/wps/http_client.c", 1141 "src/wps/http_server.c", 1142 "src/wps/httpread.c", 1143 "src/wps/ndef.c", 1144 "src/wps/upnp_xml.c", 1145 "src/wps/wps.c", 1146 "src/wps/wps_attr_build.c", 1147 "src/wps/wps_attr_parse.c", 1148 "src/wps/wps_attr_process.c", 1149 "src/wps/wps_common.c", 1150 "src/wps/wps_dev_attr.c", 1151 "src/wps/wps_enrollee.c", 1152 "src/wps/wps_er.c", 1153 "src/wps/wps_er_ssdp.c", 1154 "src/wps/wps_registrar.c", 1155 "src/wps/wps_upnp.c", 1156 "src/wps/wps_upnp_ap.c", 1157 "src/wps/wps_upnp_event.c", 1158 "src/wps/wps_upnp_ssdp.c", 1159 "src/wps/wps_upnp_web.c", 1160 ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), { 1161 true: ["src/ap/ieee802_11_he.c"], 1162 default: [], 1163 }), 1164 defaults: [ 1165 "wpa_supplicant_driver_srcs_default", 1166 ], 1167} 1168 1169cc_defaults { 1170 name: "wpa_supplicant_mainline_srcs_default", 1171 srcs: [ 1172 "bss.c", 1173 "bssid_ignore.c", 1174 "config.c", 1175 "config_file.c", 1176 "ctrl_iface.c", 1177 "ctrl_iface_unix.c", 1178 "eap_register.c", 1179 "events.c", 1180 "main.c", 1181 "notify.c", 1182 "offchannel.c", 1183 "op_classes.c", 1184 "rrm.c", 1185 "scan.c", 1186 "wpa_supplicant.c", 1187 "wpas_glue.c", 1188 "src/common/ctrl_iface_common.c", 1189 "src/common/hw_features_common.c", 1190 "src/common/ieee802_11_common.c", 1191 "src/common/ptksa_cache.c", 1192 "src/common/wpa_common.c", 1193 "src/crypto/crypto_openssl.c", 1194 "src/crypto/tls_none.c", 1195 "src/drivers/driver_common.c", 1196 "src/drivers/driver_nl80211.c", 1197 "src/drivers/driver_nl80211_android.c", 1198 "src/drivers/driver_nl80211_capa.c", 1199 "src/drivers/driver_nl80211_event.c", 1200 "src/drivers/driver_nl80211_monitor.c", 1201 "src/drivers/driver_nl80211_scan.c", 1202 "src/drivers/drivers.c", 1203 "src/drivers/linux_ioctl.c", 1204 "src/drivers/netlink.c", 1205 "src/drivers/rfkill.c", 1206 "src/l2_packet/l2_packet_linux.c", 1207 "src/rsn_supp/pmksa_cache.c", 1208 "src/utils/base64.c", 1209 "src/utils/bitfield.c", 1210 "src/utils/common.c", 1211 "src/utils/config.c", 1212 "src/utils/crc32.c", 1213 "src/utils/eloop.c", 1214 "src/utils/ip_addr.c", 1215 "src/utils/os_unix.c", 1216 "src/utils/radiotap.c", 1217 "src/utils/wpa_debug.c", 1218 "src/utils/wpabuf.c", 1219 ], 1220 defaults: [ 1221 "wpa_supplicant_driver_srcs_default", 1222 ], 1223} 1224 1225cc_binary { 1226 name: "wpa_cli", 1227 proprietary: true, 1228 srcs: [ 1229 "wpa_cli.c", 1230 "src/common/cli.c", 1231 "src/common/wpa_ctrl.c", 1232 "src/utils/common.c", 1233 "src/utils/edit.c", 1234 "src/utils/eloop.c", 1235 "src/utils/os_unix.c", 1236 "src/utils/wpa_debug.c", 1237 ], 1238 shared_libs: [ 1239 "libcutils", 1240 "liblog", 1241 ], 1242 defaults: [ 1243 "wpa_supplicant_cflags_default", 1244 "wpa_supplicant_includes_default", 1245 ], 1246} 1247 1248soong_config_module_type { 1249 name: "wpa_supplicant_cc_binary", 1250 module_type: "cc_binary", 1251 config_namespace: "wpa_supplicant_8", 1252 value_variables: [ 1253 "board_wpa_supplicant_private_lib", 1254 ], 1255 bool_variables: [ 1256 "wifi_hidl_unified_supplicant_service_rc_entry", 1257 ], 1258 properties: [ 1259 "init_rc", 1260 "static_libs", 1261 ], 1262} 1263 1264wpa_supplicant_cc_binary { 1265 name: "wpa_supplicant", 1266 proprietary: true, 1267 relative_install_path: "hw", 1268 // vintf_fragments: wpa_supplicant only 1269 // vintf_fragments: ["aidl/android.hardware.wifi.supplicant.xml"], 1270 required: [ 1271 "android.hardware.wifi.supplicant.xml", 1272 ], 1273 // wpa_supplicant only 1274 static_libs: [ 1275 "libwpa_aidl", 1276 ], 1277 shared_libs: [ 1278 // Share between wpa_supplicant and wpa_supplicant_macsec 1279 "libc", 1280 "libcrypto", 1281 "libcutils", 1282 "libkeystore-engine-wifi-hidl", 1283 "liblog", 1284 "libnl", 1285 "libssl", 1286 ] + [ 1287 // wpa_supplicant only 1288 "android.hardware.wifi.supplicant-V4-ndk", 1289 "android.system.keystore2-V1-ndk", 1290 "libbase", 1291 "libbinder_ndk", 1292 "libutils", 1293 ], 1294 defaults: [ 1295 "wpa_supplicant_srcs_default", 1296 "wpa_supplicant_cflags_default", 1297 "wpa_supplicant_includes_default", 1298 ], 1299 soong_config_variables: { 1300 board_wpa_supplicant_private_lib: { 1301 static_libs: ["%s"], 1302 }, 1303 // init_rc: wpa_supplicant only 1304 wifi_hidl_unified_supplicant_service_rc_entry: { 1305 init_rc: ["aidl/vendor/android.hardware.wifi.supplicant-service.rc"], 1306 }, 1307 }, 1308} 1309 1310wpa_supplicant_cc_binary { 1311 name: "wpa_supplicant_macsec", 1312 proprietary: true, 1313 relative_install_path: "hw", 1314 srcs: [ 1315 // wpa_supplicant_macsec only 1316 ":wpa_supplicant_macsec_extra_driver_srcs", 1317 "wpas_kay.c", 1318 "src/ap/wpa_auth_kay.c", 1319 "src/pae/ieee802_1x_cp.c", 1320 "src/pae/ieee802_1x_kay.c", 1321 "src/pae/ieee802_1x_key.c", 1322 "src/pae/ieee802_1x_secy_ops.c", 1323 "src/pae/aidl/aidl_psk.cpp", 1324 ], 1325 shared_libs: [ 1326 // Share between wpa_supplicant and wpa_supplicant_macsec 1327 "libc", 1328 "libcrypto", 1329 "libcutils", 1330 "libkeystore-engine-wifi-hidl", 1331 "liblog", 1332 "libnl", 1333 "libssl", 1334 ] + [ 1335 // wpa_supplicant_macsec only 1336 "android.hardware.macsec-V1-ndk", 1337 "libbinder_ndk", 1338 ], 1339 cflags: [ 1340 "-DCONFIG_AIDL_MACSEC_PSK_METHODS", 1341 "-DCONFIG_DRIVER_MACSEC_LINUX", 1342 "-DCONFIG_MACSEC", 1343 ], 1344 local_include_dirs: [ 1345 // wpa_supplicant_macsec only 1346 "aidl", 1347 ], 1348 defaults: [ 1349 "wpa_supplicant_srcs_default", 1350 "wpa_supplicant_includes_default", 1351 "wpa_supplicant_no_aidl_cflags_default", 1352 ], 1353 soong_config_variables: { 1354 board_wpa_supplicant_private_lib: { 1355 static_libs: ["%s"], 1356 }, 1357 }, 1358} 1359 1360wpa_supplicant_cc_binary { 1361 name: "wpa_supplicant_mainline", 1362 shared_libs: [ 1363 "android.system.wifi.mainline_supplicant-ndk", 1364 "libbase", 1365 "libbinder_ndk", 1366 "libc", 1367 "libcrypto", 1368 "libcutils_sockets", 1369 "liblog", 1370 "libnl", 1371 "libssl", 1372 ], 1373 static_libs: [ 1374 "mainline_supplicant_aidl_bp", 1375 ], 1376 defaults: [ 1377 "wpa_supplicant_mainline_srcs_default", 1378 "wpa_supplicant_includes_default", 1379 "wpa_supplicant_mainline_cflags_default", 1380 ], 1381 apex_available: [ 1382 "//apex_available:platform", 1383 "com.android.wifi", 1384 ], 1385 min_sdk_version: "30", 1386} 1387 1388cc_library_shared { 1389 name: "libwpa_client", 1390 proprietary: true, 1391 srcs: [ 1392 "src/common/wpa_ctrl.c", 1393 "src/utils/os_unix.c", 1394 ], 1395 shared_libs: [ 1396 "libc", 1397 "libcutils", 1398 "liblog", 1399 ], 1400 defaults: [ 1401 "wpa_supplicant_cflags_default", 1402 "wpa_supplicant_includes_default", 1403 ], 1404} 1405 1406cc_fuzz { 1407 name: "mainline_supplicant_service_fuzzer", 1408 team: "trendy_team_fwk_wifi_hal", 1409 srcs: [ 1410 "aidl/mainline/fuzzers/mainline_supplicant_service_fuzzer.cpp", 1411 ], 1412 defaults: [ 1413 "fuzzer_disable_leaks", 1414 "service_fuzzer_defaults", 1415 "wpa_supplicant_includes_default", 1416 "wpa_supplicant_mainline_cflags_default", 1417 "wpa_supplicant_mainline_srcs_default", 1418 ], 1419 shared_libs: [ 1420 "android.system.wifi.mainline_supplicant-ndk", 1421 "libbase", 1422 "libbinder_ndk", 1423 "libc", 1424 "libcrypto", 1425 "libcutils_sockets", 1426 "liblog", 1427 "libnl", 1428 "libssl", 1429 ], 1430 static_libs: [ 1431 "mainline_supplicant_aidl_bp", 1432 ], 1433 cflags: [ 1434 "-DSUPPLICANT_SERVICE_FUZZER", 1435 ], 1436 fuzz_config: { 1437 triage_assignee: "[email protected]", 1438 }, 1439 proto: { 1440 type: "lite", 1441 static: true, 1442 }, 1443} 1444 1445//## Aidl service library ### 1446//####################### 1447cc_library_static { 1448 name: "libwpa_aidl", 1449 vendor: true, 1450 cppflags: [ 1451 "-Wall", 1452 "-Werror", 1453 "-Wno-unused-parameter", 1454 "-Wno-unused-private-field", 1455 "-Wno-unused-variable", 1456 ], 1457 srcs: [ 1458 "aidl/vendor/aidl.cpp", 1459 "aidl/vendor/aidl_manager.cpp", 1460 "aidl/vendor/certificate_utils.cpp", 1461 "aidl/vendor/iface_config_utils.cpp", 1462 "aidl/vendor/p2p_iface.cpp", 1463 "aidl/vendor/p2p_network.cpp", 1464 "aidl/vendor/sta_iface.cpp", 1465 "aidl/vendor/sta_network.cpp", 1466 "aidl/vendor/supplicant.cpp", 1467 ], 1468 shared_libs: [ 1469 "android.hardware.wifi.supplicant-V4-ndk", 1470 "android.system.keystore2-V1-ndk", 1471 "libbinder_ndk", 1472 "libbase", 1473 "libutils", 1474 "liblog", 1475 "libssl", 1476 ], 1477 export_include_dirs: ["aidl"], 1478 defaults: [ 1479 "wpa_supplicant_cflags_default", 1480 "wpa_supplicant_includes_default", 1481 ], 1482} 1483