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 60filegroup { 61 name: "wpa_supplicant_template.conf", 62 srcs: ["wpa_supplicant_template.conf"], 63} 64 65cc_defaults { 66 name: "wpa_supplicant_defaults", 67 defaults: ["wpa_supplicant_cflags_defaults"], 68 srcs: [":wpa_supplicant_srcs"], 69 shared_libs: [ 70 "android.hardware.wifi.supplicant-V1-ndk", 71 "libbase", 72 "libbinder_ndk", 73 "libc", 74 "libcrypto", 75 "libcutils", 76 "libkeystore-engine-wifi-hidl", 77 "libkeystore-wifi-hidl", 78 "liblog", 79 "libnl", 80 "libssl", 81 "libutils", 82 ], 83 relative_install_path: "hw", 84 soc_specific: true, 85 static_libs: [ 86 "libwpa_aidl_bp", 87 ], 88 header_libs: [ 89 "wpa_supplicant_headers", 90 "libwpa_aidl_headers", 91 ], 92} 93 94soong_config_module_type { 95 name: "wpa_supplicant_cflags_cc_defaults", 96 module_type: "cc_defaults", 97 config_namespace: "wpa_supplicant", 98 value_variables: [ 99 "platform_version", 100 "nl80211_driver", 101 ], 102 properties: ["cflags"], 103} 104 105wpa_supplicant_cflags_cc_defaults { 106 name: "wpa_supplicant_cflags_defaults", 107 soong_config_variables: { 108 // Devices that include this module should set these soong config vars appropriately. 109 // For example: 110 // $(call add_soong_config_namespace, wpa_supplicant) 111 // $(call add_soong_config_var_value, wpa_supplicant, platform_version, $(PLATFORM_VERSION)) 112 // $(call add_soong_config_var_value, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA) 113 platform_version: { 114 cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""], 115 conditions_default: { 116 // Default value 117 cflags: ["-DVERSION_STR_POSTFIX=\"-Android\""], 118 }, 119 }, 120 nl80211_driver: { 121 cflags: ["-D%s"], 122 // Flag is optional, so no default value provided. 123 }, 124 }, 125 // Generated by building wpa_supplicant and printing LOCAL_CFLAGS. 126 cflags: [ 127 "-DANDROID_LOG_NAME=\"wpa_supplicant\"", 128 "-DANDROID_P2P", 129 "-DCONFIG_ACS", 130 "-DCONFIG_ANDROID_LOG", 131 "-DCONFIG_AP", 132 "-DCONFIG_BACKEND_FILE", 133 "-DCONFIG_CTRL_IFACE", 134 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"", 135 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"", 136 "-DCONFIG_CTRL_IFACE_AIDL", 137 "-DCONFIG_CTRL_IFACE_UNIX", 138 "-DCONFIG_DPP", 139 "-DCONFIG_DPP2", 140 "-DCONFIG_DRIVER_NL80211", 141 "-DCONFIG_ECC", 142 "-DCONFIG_ERP", 143 "-DCONFIG_FILS", 144 "-DCONFIG_GAS", 145 "-DCONFIG_GAS_SERVER", 146 "-DCONFIG_AIDL", 147 "-DCONFIG_HMAC_SHA256_KDF", 148 "-DCONFIG_HMAC_SHA384_KDF", 149 "-DCONFIG_HMAC_SHA512_KDF", 150 "-DCONFIG_HS20", 151 "-DCONFIG_IEEE80211AC", 152 "-DCONFIG_IEEE80211R", 153 "-DCONFIG_INTERWORKING", 154 "-DCONFIG_IPV6", 155 "-DCONFIG_JSON", 156 "-DCONFIG_MBO", 157 "-DCONFIG_NO_ACCOUNTING", 158 "-DCONFIG_NO_RADIUS", 159 "-DCONFIG_NO_RADIUS", 160 "-DCONFIG_NO_RANDOM_POOL", 161 "-DCONFIG_NO_ROAMING", 162 "-DCONFIG_NO_VLAN", 163 "-DCONFIG_OFFCHANNEL", 164 "-DCONFIG_OWE", 165 "-DCONFIG_P2P", 166 "-DCONFIG_SAE", 167 "-DCONFIG_SAE_PK", 168 "-DCONFIG_SHA256", 169 "-DCONFIG_SHA384", 170 "-DCONFIG_SHA512", 171 "-DCONFIG_SMARTCARD", 172 "-DCONFIG_SME", 173 "-DCONFIG_SUITEB", 174 "-DCONFIG_SUITEB192", 175 "-DCONFIG_TDLS", 176 "-DCONFIG_WEP", 177 "-DCONFIG_WIFI_DISPLAY", 178 "-DCONFIG_WNM", 179 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"", 180 "-DCONFIG_WPS", 181 "-DCONFIG_WPS_ER", 182 "-DCONFIG_WPS_NFC", 183 "-DCONFIG_WPS_OOB", 184 "-DCONFIG_WPS_UPNP", 185 "-DEAP_AKA", 186 "-DEAP_AKA_PRIME", 187 "-DEAP_GTC", 188 "-DEAP_LEAP", 189 "-DEAP_MD5", 190 "-DEAP_MSCHAPv2", 191 "-DEAP_OTP", 192 "-DEAP_PEAP", 193 "-DEAP_PWD", 194 "-DEAP_SERVER", 195 "-DEAP_SERVER_IDENTITY", 196 "-DEAP_SERVER_WSC", 197 "-DEAP_SIM", 198 "-DEAP_TLS", 199 "-DEAP_TLS_OPENSSL", 200 "-DEAP_TTLS", 201 "-DEAP_WSC", 202 "-DIEEE8021X_EAPOL", 203 "-DNEED_AP_MLME", 204 "-DPKCS12_FUNCS", 205 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 206 "-DWPA_IGNORE_CONFIG_ERRORS", 207 "-Wall", 208 "-Werror", 209 "-Wno-error=sometimes-uninitialized", 210 "-Wno-incompatible-pointer-types", 211 "-Wno-incompatible-pointer-types-discards-qualifiers", 212 "-Wno-macro-redefined", 213 "-Wno-parentheses-equality", 214 "-Wno-sign-compare", 215 "-Wno-unused-function", 216 "-Wno-unused-parameter", 217 "-Wno-unused-variable", 218 ], 219} 220 221// Generated by building wpa_supplicant and printing LOCAL_SRC_FILES. 222filegroup { 223 name: "wpa_supplicant_srcs", 224 srcs: [ 225 "ap.c", 226 "bss.c", 227 "bssid_ignore.c", 228 "config.c", 229 "config_file.c", 230 "ctrl_iface.c", 231 "ctrl_iface_unix.c", 232 "dpp_supplicant.c", 233 "eap_register.c", 234 "events.c", 235 "gas_query.c", 236 "hs20_supplicant.c", 237 "interworking.c", 238 "main.c", 239 "mbo.c", 240 "notify.c", 241 "offchannel.c", 242 "op_classes.c", 243 "p2p_supplicant.c", 244 "p2p_supplicant_sd.c", 245 "robust_av.c", 246 "rrm.c", 247 "scan.c", 248 "sme.c", 249 "src/ap/acs.c", 250 "src/ap/ap_config.c", 251 "src/ap/ap_drv_ops.c", 252 "src/ap/ap_list.c", 253 "src/ap/ap_mlme.c", 254 "src/ap/authsrv.c", 255 "src/ap/beacon.c", 256 "src/ap/bss_load.c", 257 "src/ap/ctrl_iface_ap.c", 258 "src/ap/dfs.c", 259 "src/ap/dpp_hostapd.c", 260 "src/ap/drv_callbacks.c", 261 "src/ap/eap_user_db.c", 262 "src/ap/fils_hlp.c", 263 "src/ap/gas_query_ap.c", 264 "src/ap/gas_serv.c", 265 "src/ap/hostapd.c", 266 "src/ap/hs20.c", 267 "src/ap/hw_features.c", 268 "src/ap/ieee802_11_auth.c", 269 "src/ap/ieee802_11.c", 270 "src/ap/ieee802_11_ht.c", 271 "src/ap/ieee802_11_shared.c", 272 "src/ap/ieee802_11_vht.c", 273 "src/ap/ieee802_1x.c", 274 "src/ap/mbo_ap.c", 275 "src/ap/neighbor_db.c", 276 "src/ap/p2p_hostapd.c", 277 "src/ap/pmksa_cache_auth.c", 278 "src/ap/rrm.c", 279 "src/ap/sta_info.c", 280 "src/ap/tkip_countermeasures.c", 281 "src/ap/utils.c", 282 "src/ap/wmm.c", 283 "src/ap/wpa_auth.c", 284 "src/ap/wpa_auth_glue.c", 285 "src/ap/wpa_auth_ie.c", 286 "src/ap/wps_hostapd.c", 287 "src/common/ctrl_iface_common.c", 288 "src/common/dpp_auth.c", 289 "src/common/dpp_backup.c", 290 "src/common/dpp.c", 291 "src/common/dpp_crypto.c", 292 "src/common/dpp_pkex.c", 293 "src/common/dpp_reconfig.c", 294 "src/common/dpp_tcp.c", 295 "src/common/dragonfly.c", 296 "src/common/gas.c", 297 "src/common/gas_server.c", 298 "src/common/hw_features_common.c", 299 "src/common/ieee802_11_common.c", 300 "src/common/sae.c", 301 "src/common/sae_pk.c", 302 "src/common/wpa_common.c", 303 "src/crypto/aes-ctr.c", 304 "src/crypto/aes-siv.c", 305 "src/crypto/crypto_openssl.c", 306 "src/crypto/dh_groups.c", 307 "src/crypto/fips_prf_openssl.c", 308 "src/crypto/ms_funcs.c", 309 "src/crypto/sha1-prf.c", 310 "src/crypto/sha1-tlsprf.c", 311 "src/crypto/sha256-kdf.c", 312 "src/crypto/sha256-prf.c", 313 "src/crypto/sha256-tlsprf.c", 314 "src/crypto/sha384-kdf.c", 315 "src/crypto/sha384-prf.c", 316 "src/crypto/sha512-kdf.c", 317 "src/crypto/sha512-prf.c", 318 "src/crypto/tls_openssl.c", 319 "src/crypto/tls_openssl_ocsp.c", 320 "src/drivers/driver_common.c", 321 "src/drivers/driver_nl80211_android.c", 322 "src/drivers/driver_nl80211.c", 323 "src/drivers/driver_nl80211_capa.c", 324 "src/drivers/driver_nl80211_event.c", 325 "src/drivers/driver_nl80211_monitor.c", 326 "src/drivers/driver_nl80211_scan.c", 327 "src/drivers/drivers.c", 328 "src/drivers/linux_ioctl.c", 329 "src/drivers/netlink.c", 330 "src/drivers/rfkill.c", 331 "src/eap_common/chap.c", 332 "src/eap_common/eap_common.c", 333 "src/eap_common/eap_peap_common.c", 334 "src/eap_common/eap_pwd_common.c", 335 "src/eap_common/eap_sim_common.c", 336 "src/eap_common/eap_wsc_common.c", 337 "src/eapol_auth/eapol_auth_sm.c", 338 "src/eapol_supp/eapol_supp_sm.c", 339 "src/eap_peer/eap_aka.c", 340 "src/eap_peer/eap.c", 341 "src/eap_peer/eap_gtc.c", 342 "src/eap_peer/eap_leap.c", 343 "src/eap_peer/eap_md5.c", 344 "src/eap_peer/eap_methods.c", 345 "src/eap_peer/eap_mschapv2.c", 346 "src/eap_peer/eap_otp.c", 347 "src/eap_peer/eap_peap.c", 348 "src/eap_peer/eap_pwd.c", 349 "src/eap_peer/eap_sim.c", 350 "src/eap_peer/eap_tls.c", 351 "src/eap_peer/eap_tls_common.c", 352 "src/eap_peer/eap_ttls.c", 353 "src/eap_peer/eap_wsc.c", 354 "src/eap_peer/mschapv2.c", 355 "src/eap_server/eap_server.c", 356 "src/eap_server/eap_server_identity.c", 357 "src/eap_server/eap_server_methods.c", 358 "src/eap_server/eap_server_wsc.c", 359 "src/l2_packet/l2_packet_linux.c", 360 "src/p2p/p2p_build.c", 361 "src/p2p/p2p.c", 362 "src/p2p/p2p_dev_disc.c", 363 "src/p2p/p2p_go_neg.c", 364 "src/p2p/p2p_group.c", 365 "src/p2p/p2p_invitation.c", 366 "src/p2p/p2p_parse.c", 367 "src/p2p/p2p_pd.c", 368 "src/p2p/p2p_sd.c", 369 "src/p2p/p2p_utils.c", 370 "src/rsn_supp/pmksa_cache.c", 371 "src/rsn_supp/preauth.c", 372 "src/rsn_supp/tdls.c", 373 "src/rsn_supp/wpa.c", 374 "src/rsn_supp/wpa_ft.c", 375 "src/rsn_supp/wpa_ie.c", 376 "src/tls/asn1.c", 377 "src/utils/base64.c", 378 "src/utils/bitfield.c", 379 "src/utils/common.c", 380 "src/utils/config.c", 381 "src/utils/crc32.c", 382 "src/utils/eloop.c", 383 "src/utils/ip_addr.c", 384 "src/utils/json.c", 385 "src/utils/os_unix.c", 386 "src/utils/radiotap.c", 387 "src/utils/uuid.c", 388 "src/utils/wpabuf.c", 389 "src/utils/wpa_debug.c", 390 "src/wps/http_client.c", 391 "src/wps/httpread.c", 392 "src/wps/http_server.c", 393 "src/wps/ndef.c", 394 "src/wps/upnp_xml.c", 395 "src/wps/wps_attr_build.c", 396 "src/wps/wps_attr_parse.c", 397 "src/wps/wps_attr_process.c", 398 "src/wps/wps.c", 399 "src/wps/wps_common.c", 400 "src/wps/wps_dev_attr.c", 401 "src/wps/wps_enrollee.c", 402 "src/wps/wps_er.c", 403 "src/wps/wps_er_ssdp.c", 404 "src/wps/wps_registrar.c", 405 "src/wps/wps_upnp_ap.c", 406 "src/wps/wps_upnp.c", 407 "src/wps/wps_upnp_event.c", 408 "src/wps/wps_upnp_ssdp.c", 409 "src/wps/wps_upnp_web.c", 410 "wifi_display.c", 411 "wmm_ac.c", 412 "wnm_sta.c", 413 "wpas_glue.c", 414 "wpa_supplicant.c", 415 "wps_supplicant.c", 416 ], 417} 418