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 15// The hostapd related modules are split into 2 sections: 16// 1. For cuttlefish series products, start from `hostapd_headers` to `hostapd_cli_srcs`. 17// 2. For non-cuttlefish series products, ex: physical devices created by oems, 18// the section starts from `hostapd_driver_srcs_default` to the end of this file. 19 20package { 21 default_applicable_licenses: [ 22 "external_wpa_supplicant_8_license", 23 "external_wpa_supplicant_8_hostapd_license", 24 ], 25} 26 27license { 28 name: "external_wpa_supplicant_8_hostapd_license", 29 visibility: [":__subpackages__"], 30 license_kinds: [ 31 "SPDX-license-identifier-BSD-3-Clause", 32 "SPDX-license-identifier-ISC", 33 "legacy_unencumbered", 34 ], 35} 36 37// The section below is for cuttlefish series products. For non-cuttlefish 38// products please update the section starting at `hostapd_driver_srcs_default`. 39// Start of cuttlefish section. 40cc_library_headers { 41 name: "hostapd_headers", 42 export_include_dirs: [ 43 ".", 44 "src", 45 "src/utils", 46 ], 47 soc_specific: true, 48} 49 50cc_defaults { 51 name: "hostapd_defaults", 52 defaults: ["hostapd_cflags_defaults"], 53 srcs: [":hostapd_srcs"], 54 shared_libs: [ 55 "android.hardware.wifi.hostapd-V3-ndk", 56 "libbase", 57 "libutils", 58 "libbinder_ndk", 59 "libc", 60 "libcutils", 61 "liblog", 62 "libcrypto", 63 "libssl", 64 "libnl", 65 ], 66 relative_install_path: "hw", 67 soc_specific: true, 68 static_libs: [ 69 "libhostapd_aidl_bp", 70 ], 71 header_libs: [ 72 "hostapd_headers", 73 "libhostapd_aidl_headers", 74 ], 75} 76 77cc_defaults { 78 name: "hostapd_cflags_defaults", 79 // Generated by building hostapd and printing LOCAL_CFLAGS. 80 cflags: [ 81 "-DWPA_IGNORE_CONFIG_ERRORS", 82 "-DANDROID_LOG_NAME=\"hostapd\"", 83 "-DANDROID_P2P", 84 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"", 85 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"", 86 "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"", 87 "-DHOSTAPD", 88 "-DHOSTAPD_DUMP_STATE", 89 "-DCONFIG_NO_RADIUS", 90 "-DCONFIG_NO_ACCOUNTING", 91 "-DCONFIG_CTRL_IFACE", 92 "-DCONFIG_CTRL_IFACE_UNIX", 93 "-DCONFIG_SUITEB", 94 "-DCONFIG_SUITEB192", 95 "-DCONFIG_IEEE80211R", 96 "-DCONFIG_IEEE80211R_AP", 97 "-DCONFIG_ETH_P_OUI", 98 "-DCONFIG_SAE", 99 "-DCONFIG_SAE_PK", 100 "-DCONFIG_OWE", 101 "-DCONFIG_FILS", 102 "-DCONFIG_WNM", 103 "-DCONFIG_WNM_AP", 104 "-DCONFIG_IEEE80211AC", 105 "-DCONFIG_MBO", 106 "-DCONFIG_WEP", 107 "-DCONFIG_DRIVER_NL80211", 108 "-DEAP_SERVER_MD5", 109 "-DEAP_SERVER_TLS", 110 "-DEAP_SERVER_PEAP", 111 "-DEAP_SERVER_TTLS", 112 "-DEAP_SERVER_MSCHAPV2", 113 "-DEAP_SERVER_GTC", 114 "-DEAP_SERVER_SIM", 115 "-DEAP_SERVER_AKA", 116 "-DEAP_SERVER_AKA_PRIME", 117 "-DEAP_SERVER_PWD", 118 "-DCONFIG_WPS", 119 "-DEAP_SERVER_WSC", 120 "-DCONFIG_WPS_NFC", 121 "-DCONFIG_WPS_OOB", 122 "-DCONFIG_DPP", 123 "-DCONFIG_DPP2", 124 "-DEAP_SERVER_IDENTITY", 125 "-DEAP_SERVER", 126 "-DPKCS12_FUNCS", 127 "-DEAP_TLS_FUNCS", 128 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 129 "-DCONFIG_SHA256", 130 "-DCONFIG_SHA384", 131 "-DCONFIG_SHA512", 132 "-DCONFIG_ECC", 133 "-DCONFIG_NO_RANDOM_POOL", 134 "-DCONFIG_IPV6", 135 "-DCONFIG_JSON", 136 "-DNEED_AP_MLME", 137 "-DCONFIG_HS20", 138 "-DCONFIG_INTERWORKING", 139 "-DCONFIG_PROXYARP", 140 "-DCONFIG_ACS", 141 "-DCONFIG_ANDROID_LOG", 142 "-DCONFIG_CTRL_IFACE_AIDL", 143 "-Wall", 144 "-Werror", 145 "-Wno-unused-parameter", 146 "-Wno-unused-variable", 147 "-Wno-macro-redefined", 148 ] + 149 // Devices that include this module should set these soong config vars appropriately. 150 // For example: 151 // $(call soong_config_set, hostapd, platform_version, $(PLATFORM_VERSION)) 152 // $(call soong_config_set, hostapd, nl80211_driver, CONFIG_DRIVER_NL80211_QCA) 153 select(soong_config_variable("hostapd", "platform_version"), { 154 any @ version: ["-DVERSION_STR_POSTFIX=\"-" + version + "\""], 155 default: ["-DVERSION_STR_POSTFIX=\"-Android\""], 156 }) + 157 select(soong_config_variable("hostapd", "nl80211_driver"), { 158 any @ driver: ["-D" + driver], 159 // Flag is optional, so no default value provided. 160 default: [], 161 }), 162 163 // Similar to suppressing clang compiler warnings, here we 164 // suppress clang-tidy warnings to reduce noises in Android build.log. 165 tidy_checks: [ 166 "-android-cloexec-*", 167 "-bugprone-branch-clone", 168 "-bugprone-macro-parentheses", 169 "-bugprone-misplaced-widening-cast", 170 "-bugprone-signal-handler", 171 "-bugprone-signed-char-misuse", 172 "-bugprone-sizeof-expression", 173 "-bugprone-suspicious-string-compare", 174 "-bugprone-too-small-loop-variable", 175 "-cert-err34-c", 176 "-cert-msc30-c", 177 "-cert-msc50-cpp", 178 "-cert-msc54-cpp", 179 "-cert-sig30-c", 180 "-cert-str34-c", 181 "-clang-analyzer-core.NullDereference", 182 "-clang-analyzer-core.UndefinedBinaryOperatorResult", 183 "-clang-analyzer-deadcode.DeadStores", 184 "-clang-analyzer-optin.performance.Padding", 185 "-clang-analyzer-optin.portability.UnixAPI", 186 "-clang-analyzer-security.insecureAPI.UncheckedReturn", 187 "-clang-analyzer-unix.cstring.NullArg", 188 "-clang-analyzer-unix.Malloc", 189 "-clang-diagnostic-unused-but-set-variable", 190 "-misc-redundant-expression", 191 ], 192} 193 194// Generated by building hostapd and printing LOCAL_SRC_FILES. 195filegroup { 196 name: "hostapd_srcs", 197 srcs: [ 198 "main.c", 199 "config_file.c", 200 "ctrl_iface.c", 201 "eap_register.c", 202 "src/ap/hostapd.c", 203 "src/ap/wpa_auth_glue.c", 204 "src/ap/drv_callbacks.c", 205 "src/ap/ap_drv_ops.c", 206 "src/ap/utils.c", 207 "src/ap/authsrv.c", 208 "src/ap/ieee802_1x.c", 209 "src/ap/ap_config.c", 210 "src/ap/eap_user_db.c", 211 "src/ap/ieee802_11_auth.c", 212 "src/ap/sta_info.c", 213 "src/ap/wpa_auth.c", 214 "src/ap/tkip_countermeasures.c", 215 "src/ap/ap_mlme.c", 216 "src/ap/wpa_auth_ie.c", 217 "src/ap/preauth_auth.c", 218 "src/ap/pmksa_cache_auth.c", 219 "src/ap/ieee802_11_shared.c", 220 "src/ap/beacon.c", 221 "src/ap/bss_load.c", 222 "src/ap/neighbor_db.c", 223 "src/ap/rrm.c", 224 "src/drivers/drivers.c", 225 "src/utils/eloop.c", 226 "src/utils/common.c", 227 "src/utils/wpa_debug.c", 228 "src/utils/wpabuf.c", 229 "src/utils/os_unix.c", 230 "src/utils/ip_addr.c", 231 "src/utils/crc32.c", 232 "src/common/ieee802_11_common.c", 233 "src/common/wpa_common.c", 234 "src/common/hw_features_common.c", 235 "src/common/ptksa_cache.c", 236 "src/eapol_auth/eapol_auth_sm.c", 237 "src/eapol_auth/eapol_auth_dump.c", 238 "src/ap/vlan_init.c", 239 "src/ap/vlan_ifconfig.c", 240 "src/ap/vlan.c", 241 "src/common/ctrl_iface_common.c", 242 "src/ap/ctrl_iface_ap.c", 243 "src/ap/wpa_auth_ft.c", 244 "src/ap/eth_p_oui.c", 245 "src/common/sae.c", 246 "src/common/sae_pk.c", 247 "src/ap/fils_hlp.c", 248 "src/ap/wnm_ap.c", 249 "src/ap/mbo_ap.c", 250 "src/drivers/driver_nl80211.c", 251 "src/drivers/driver_nl80211_android.c", 252 "src/drivers/driver_nl80211_capa.c", 253 "src/drivers/driver_nl80211_event.c", 254 "src/drivers/driver_nl80211_monitor.c", 255 "src/drivers/driver_nl80211_scan.c", 256 "src/drivers/netlink.c", 257 "src/drivers/rfkill.c", 258 "src/utils/radiotap.c", 259 "src/drivers/linux_ioctl.c", 260 "src/l2_packet/l2_packet_linux.c", 261 "src/eap_server/eap_server_md5.c", 262 "src/eap_server/eap_server_tls.c", 263 "src/eap_server/eap_server_peap.c", 264 "src/eap_common/eap_peap_common.c", 265 "src/eap_server/eap_server_ttls.c", 266 "src/eap_server/eap_server_mschapv2.c", 267 "src/eap_server/eap_server_gtc.c", 268 "src/eap_server/eap_server_sim.c", 269 "src/eap_server/eap_server_aka.c", 270 "src/eap_common/eap_sim_common.c", 271 "src/eap_server/eap_sim_db.c", 272 "src/eap_server/eap_server_pwd.c", 273 "src/eap_common/eap_pwd_common.c", 274 "src/utils/uuid.c", 275 "src/ap/wps_hostapd.c", 276 "src/eap_server/eap_server_wsc.c", 277 "src/eap_common/eap_wsc_common.c", 278 "src/wps/wps.c", 279 "src/wps/wps_common.c", 280 "src/wps/wps_attr_parse.c", 281 "src/wps/wps_attr_build.c", 282 "src/wps/wps_attr_process.c", 283 "src/wps/wps_dev_attr.c", 284 "src/wps/wps_enrollee.c", 285 "src/wps/wps_registrar.c", 286 "src/wps/ndef.c", 287 "src/common/dpp.c", 288 "src/common/dpp_auth.c", 289 "src/common/dpp_backup.c", 290 "src/common/dpp_crypto.c", 291 "src/common/dpp_pkex.c", 292 "src/common/dpp_reconfig.c", 293 "src/common/dpp_tcp.c", 294 "src/ap/dpp_hostapd.c", 295 "src/ap/gas_query_ap.c", 296 "src/eap_server/eap_server.c", 297 "src/eap_common/eap_common.c", 298 "src/eap_server/eap_server_methods.c", 299 "src/eap_server/eap_server_identity.c", 300 "src/common/dragonfly.c", 301 "src/crypto/ms_funcs.c", 302 "src/eap_common/chap.c", 303 "src/eap_server/eap_server_tls_common.c", 304 "src/crypto/tls_openssl.c", 305 "src/crypto/tls_openssl_ocsp.c", 306 "src/crypto/crypto_openssl.c", 307 "src/crypto/fips_prf_openssl.c", 308 "src/crypto/aes-siv.c", 309 "src/crypto/aes-ctr.c", 310 "src/crypto/sha1-prf.c", 311 "src/crypto/sha1-tlsprf.c", 312 "src/crypto/sha256-prf.c", 313 "src/crypto/sha256-tlsprf.c", 314 "src/crypto/sha256-kdf.c", 315 "src/crypto/sha384-kdf.c", 316 "src/crypto/sha512-kdf.c", 317 "src/crypto/sha384-prf.c", 318 "src/crypto/sha512-prf.c", 319 "src/tls/asn1.c", 320 "src/crypto/dh_groups.c", 321 "src/utils/base64.c", 322 "src/utils/json.c", 323 "src/ap/wmm.c", 324 "src/ap/ap_list.c", 325 "src/ap/comeback_token.c", 326 "src/pasn/pasn_responder.c", 327 "src/pasn/pasn_common.c", 328 "src/ap/ieee802_11.c", 329 "src/ap/hw_features.c", 330 "src/ap/dfs.c", 331 "src/ap/ieee802_11_ht.c", 332 "src/ap/ieee802_11_vht.c", 333 "src/ap/hs20.c", 334 "src/common/gas.c", 335 "src/ap/gas_serv.c", 336 "src/ap/x_snoop.c", 337 "src/ap/dhcp_snoop.c", 338 "src/ap/ndisc_snoop.c", 339 "src/drivers/driver_common.c", 340 "src/ap/acs.c", 341 ], 342 343} 344 345// This manifest can used by a vendor apex module for hostapd as well. 346vintf_fragment { 347 name: "android.hardware.wifi.hostapd.xml", 348 src: "android.hardware.wifi.hostapd.xml", 349 soc_specific: true, 350} 351 352// Generated by building hostapd_cli and printing LOCAL_SRC_FILES 353filegroup { 354 name: "hostapd_cli_srcs", 355 srcs: [ 356 "hostapd_cli.c", 357 "src/common/cli.c", 358 "src/common/wpa_ctrl.c", 359 "src/utils/common.c", 360 "src/utils/edit.c", 361 "src/utils/eloop.c", 362 "src/utils/os_unix.c", 363 "src/utils/wpa_debug.c", 364 ], 365} 366 367prebuilt_etc { 368 name: "android.hardware.wifi.hostapd.xml.prebuilt", 369 src: "android.hardware.wifi.hostapd.xml", 370 relative_install_path: "vintf", 371 installable: false, 372} 373 374// End of cuttlefish section. 375 376// The section starting below is for non-cuttlefish products. 377// For cuttlefish series please update the section starting from `hostapd_headers`. 378 379// If you need to add a new build setting based on a product config, ex: 380// ifeq ($(BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL),true) 381// L_CFLAGS += -DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL 382// endif 383 384// In order to export the Makefile variable to soong, you will need to use a `soong_config_set` method 385// under `build/core/board_config_wpa_supplicant.mk`. Ex: 386// ifeq ($(BOARD_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL),true) 387// $(call soong_config_set_bool,wpa_supplicant_8,board_hostapd_config_80211w_mfp_optional,true) 388// endif 389 390// And then use the select statement in Android.bp to reflect the condition you need, ex: 391// select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), { 392// true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"], 393// default: [], 394// }) 395 396// Start of non-cuttlefish section 397cc_defaults { 398 name: "hostapd_driver_srcs_default", 399 srcs: [ 400 "src/drivers/driver_nl80211.c", 401 "src/drivers/driver_nl80211_android.c", 402 "src/drivers/driver_nl80211_capa.c", 403 "src/drivers/driver_nl80211_event.c", 404 "src/drivers/driver_nl80211_monitor.c", 405 "src/drivers/driver_nl80211_scan.c", 406 "src/drivers/linux_ioctl.c", 407 "src/drivers/netlink.c", 408 "src/drivers/rfkill.c", 409 "src/utils/radiotap.c", 410 ], 411} 412 413cc_defaults { 414 name: "hostapd_driver_cflags_default", 415 cflags: [ 416 "-DCONFIG_DRIVER_NL80211", 417 ] + select(soong_config_variable("wpa_supplicant_8", "board_wlan_device"), { 418 "bcmdhd": ["-DCONFIG_DRIVER_NL80211_BRCM"], 419 "synadhd": ["-DCONFIG_DRIVER_NL80211_SYNA"], 420 default: ["-DCONFIG_DRIVER_NL80211_QCA"], 421 }), 422} 423 424soong_config_module_type { 425 name: "hostapd_cc_defaults_type", 426 module_type: "cc_defaults", 427 config_namespace: "wpa_supplicant_8", 428 value_variables: [ 429 "platform_version", 430 ], 431 properties: ["cflags"], 432} 433 434// Hostap related module share the same CFLAGS 435hostapd_cc_defaults_type { 436 name: "hostapd_cflags_default", 437 cflags: [ 438 "-DWPA_IGNORE_CONFIG_ERRORS", 439 "-DANDROID_LOG_NAME=\"hostapd\"", 440 "-Wall", 441 "-Werror", 442 "-Wno-unused-parameter", 443 "-Wno-unused-variable", 444 "-Wno-macro-redefined", 445 "-DANDROID_P2P", 446 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"", 447 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"", 448 "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"", 449 "-DHOSTAPD", 450 "-DHOSTAPD_DUMP_STATE", 451 "-DCONFIG_NO_RADIUS", 452 "-DCONFIG_NO_ACCOUNTING", 453 "-DCONFIG_CTRL_IFACE", 454 "-DCONFIG_CTRL_IFACE_UNIX", 455 "-DCONFIG_SAE", 456 "-DCONFIG_IEEE80211AC", 457 "-DCONFIG_WEP", 458 "-DCONFIG_WPS", 459 "-DEAP_SERVER_WSC", 460 "-DCONFIG_DPP", 461 "-DEAP_SERVER_IDENTITY", 462 "-DEAP_SERVER", 463 "-DPKCS12_FUNCS", 464 "-DCRYPTO_RSA_OAEP_SHA256", 465 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 466 "-DCONFIG_SHA256", 467 "-DCONFIG_SHA384", 468 "-DCONFIG_SHA512", 469 "-DCONFIG_ECC", 470 "-DCONFIG_NO_RANDOM_POOL", 471 "-DCONFIG_IPV6", 472 "-DCONFIG_JSON", 473 "-DNEED_AP_MLME", 474 "-DCONFIG_INTERWORKING", 475 "-DCONFIG_ACS", 476 "-DCONFIG_ANDROID_LOG", 477 "-DCONFIG_CTRL_IFACE_AIDL", 478 ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_use_stub_lib"), { 479 true: ["-DANDROID_LIB_STUB"], 480 default: [], 481 }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), { 482 true: ["-DCONFIG_IEEE80211AX"], 483 default: [], 484 }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11be"), { 485 true: ["-DCONFIG_IEEE80211BE"], 486 default: [], 487 }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), { 488 true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"], 489 default: [], 490 }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_private_lib_event"), { 491 true: ["-DANDROID_LIB_EVENT"], 492 default: [], 493 }), 494 arch: { 495 arm: { 496 cflags: [ 497 "-mabi=aapcs-linux", 498 ], 499 }, 500 }, 501 defaults: [ 502 "hostapd_driver_cflags_default", 503 ], 504 soong_config_variables: { 505 platform_version: { 506 cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""], 507 }, 508 }, 509 enabled: select(soong_config_variable("wpa_supplicant_8", "wpa_build_hostapd"), { 510 true: true, 511 default: false, 512 }), 513} 514 515cc_defaults { 516 name: "hostapd_includes_default", 517 local_include_dirs: [ 518 ".", 519 "src", 520 "src/utils", 521 ], 522 include_dirs: [ 523 // There's an if condition for external/libnl but current code base should always have this. 524 "external/libnl/include", 525 "system/security/keystore/include", 526 ], 527} 528 529cc_defaults { 530 name: "hostapd_srcs_default", 531 srcs: [ 532 "main.c", 533 "config_file.c", 534 "src/ap/hostapd.c", 535 "src/ap/wpa_auth_glue.c", 536 "src/ap/drv_callbacks.c", 537 "src/ap/ap_drv_ops.c", 538 "src/ap/utils.c", 539 "src/ap/authsrv.c", 540 "src/ap/ieee802_1x.c", 541 "src/ap/ap_config.c", 542 "src/ap/eap_user_db.c", 543 "src/ap/ieee802_11_auth.c", 544 "src/ap/sta_info.c", 545 "src/ap/wpa_auth.c", 546 "src/ap/tkip_countermeasures.c", 547 "src/ap/ap_mlme.c", 548 "src/ap/wpa_auth_ie.c", 549 "src/ap/preauth_auth.c", 550 "src/ap/pmksa_cache_auth.c", 551 "src/ap/ieee802_11_shared.c", 552 "src/ap/beacon.c", 553 "src/ap/bss_load.c", 554 "src/ap/neighbor_db.c", 555 "src/ap/rrm.c", 556 "src/drivers/drivers.c", 557 "src/utils/eloop.c", 558 "src/utils/common.c", 559 "src/utils/wpa_debug.c", 560 "src/utils/wpabuf.c", 561 "src/utils/os_unix.c", 562 "src/utils/ip_addr.c", 563 "src/utils/crc32.c", 564 "src/common/ieee802_11_common.c", 565 "src/common/wpa_common.c", 566 "src/common/hw_features_common.c", 567 "src/common/ptksa_cache.c", 568 "src/eapol_auth/eapol_auth_sm.c", 569 "src/eapol_auth/eapol_auth_dump.c", 570 "src/ap/vlan_init.c", 571 "src/ap/vlan_ifconfig.c", 572 "src/ap/vlan.c", 573 "src/common/ctrl_iface_common.c", 574 "ctrl_iface.c", 575 "src/ap/ctrl_iface_ap.c", 576 "src/common/sae.c", 577 "src/l2_packet/l2_packet_none.c", 578 "src/utils/uuid.c", 579 "src/ap/wps_hostapd.c", 580 "src/eap_server/eap_server_wsc.c", 581 "src/eap_common/eap_wsc_common.c", 582 "src/wps/wps.c", 583 "src/wps/wps_common.c", 584 "src/wps/wps_attr_parse.c", 585 "src/wps/wps_attr_build.c", 586 "src/wps/wps_attr_process.c", 587 "src/wps/wps_dev_attr.c", 588 "src/wps/wps_enrollee.c", 589 "src/wps/wps_registrar.c", 590 "src/common/dpp.c", 591 "src/common/dpp_auth.c", 592 "src/common/dpp_backup.c", 593 "src/common/dpp_crypto.c", 594 "src/common/dpp_pkex.c", 595 "src/common/dpp_reconfig.c", 596 "src/common/dpp_tcp.c", 597 "src/ap/dpp_hostapd.c", 598 "src/ap/gas_query_ap.c", 599 "eap_register.c", 600 "src/eap_server/eap_server.c", 601 "src/eap_common/eap_common.c", 602 "src/eap_server/eap_server_methods.c", 603 "src/eap_server/eap_server_identity.c", 604 "src/common/dragonfly.c", 605 "src/crypto/crypto_openssl.c", 606 "src/crypto/tls_none.c", 607 "src/crypto/aes-siv.c", 608 "src/crypto/aes-ctr.c", 609 "src/crypto/sha1-prf.c", 610 "src/crypto/sha256-prf.c", 611 "src/crypto/sha256-tlsprf.c", 612 "src/crypto/sha256-kdf.c", 613 "src/crypto/sha384-kdf.c", 614 "src/crypto/sha512-kdf.c", 615 "src/crypto/sha384-prf.c", 616 "src/crypto/sha512-prf.c", 617 "src/tls/asn1.c", 618 "src/crypto/dh_groups.c", 619 "src/utils/base64.c", 620 "src/utils/json.c", 621 "src/ap/wmm.c", 622 "src/ap/ap_list.c", 623 "src/ap/comeback_token.c", 624 "src/pasn/pasn_common.c", 625 "src/pasn/pasn_responder.c", 626 "src/ap/ieee802_11.c", 627 "src/ap/hw_features.c", 628 "src/ap/dfs.c", 629 "src/ap/ieee802_11_ht.c", 630 "src/ap/ieee802_11_vht.c", 631 "src/common/gas.c", 632 "src/ap/gas_serv.c", 633 "src/drivers/driver_common.c", 634 "src/ap/acs.c", 635 ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), { 636 true: ["src/ap/ieee802_11_he.c"], 637 default: [], 638 }) + 639 select(soong_config_variable("wpa_supplicant_8", "hostapd_11be"), { 640 true: ["src/ap/ieee802_11_eht.c"], 641 default: [], 642 }), 643 defaults: [ 644 "hostapd_driver_srcs_default", 645 ], 646} 647 648cc_binary { 649 name: "hostapd_cli", 650 proprietary: true, 651 srcs: [ 652 "hostapd_cli.c", 653 "src/common/cli.c", 654 "src/common/wpa_ctrl.c", 655 "src/utils/common.c", 656 "src/utils/edit.c", 657 "src/utils/eloop.c", 658 "src/utils/os_unix.c", 659 "src/utils/wpa_debug.c", 660 ], 661 shared_libs: [ 662 "libc", 663 "libcutils", 664 "liblog", 665 ], 666 defaults: [ 667 "hostapd_cflags_default", 668 "hostapd_includes_default", 669 ], 670} 671 672soong_config_module_type { 673 name: "hostapd_cc_binary", 674 module_type: "cc_binary", 675 config_namespace: "wpa_supplicant_8", 676 value_variables: [ 677 "board_hostapd_private_lib", 678 ], 679 properties: ["static_libs"], 680} 681 682hostapd_cc_binary { 683 name: "hostapd", 684 proprietary: true, 685 relative_install_path: "hw", 686 //vintf_fragments: ["android.hardware.wifi.hostapd.xml"], 687 required: [ 688 "android.hardware.wifi.hostapd.xml", 689 ], 690 static_libs: [ 691 "libhostapd_aidl", 692 ], 693 shared_libs: [ 694 "libc", 695 "libcutils", 696 "liblog", 697 "libcrypto", 698 "libssl", 699 "libnl", 700 "android.hardware.wifi.hostapd-V3-ndk", 701 "android.hardware.wifi.common-V2-ndk", 702 "libbase", 703 "libutils", 704 "libbinder_ndk", 705 ], 706 init_rc: ["hostapd.android.rc"], 707 defaults: [ 708 "hostapd_srcs_default", 709 "hostapd_cflags_default", 710 "hostapd_includes_default", 711 ], 712 soong_config_variables: { 713 board_hostapd_private_lib: { 714 static_libs: ["%s"], 715 }, 716 }, 717} 718 719cc_library_static { 720 name: "libhostapd_aidl", 721 soc_specific: true, 722 srcs: [ 723 "aidl/aidl.cpp", 724 "aidl/hostapd.cpp", 725 ], 726 shared_libs: [ 727 "android.hardware.wifi.hostapd-V3-ndk", 728 "android.hardware.wifi.common-V2-ndk", 729 "libbinder_ndk", 730 "libbase", 731 "libutils", 732 "liblog", 733 ], 734 export_include_dirs: ["aidl"], 735 cppflags: [ 736 "-Wall", 737 "-Werror", 738 ], 739 defaults: [ 740 "hostapd_cflags_default", 741 "hostapd_includes_default", 742 ], 743} 744 745// End of non-cuttlefish section 746