// Copyright (C) 2021 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { default_applicable_licenses: [ "external_wpa_supplicant_8_license", "external_wpa_supplicant_8_hostapd_license", ], } license { name: "external_wpa_supplicant_8_hostapd_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-BSD-3-Clause", "SPDX-license-identifier-ISC", "legacy_unencumbered", ], } cc_library_headers { name: "hostapd_headers", export_include_dirs: [ ".", "src", "src/utils", ], soc_specific: true, } cc_defaults { name: "hostapd_defaults", defaults: ["hostapd_cflags_defaults"], srcs: [":hostapd_srcs"], shared_libs: [ "android.hardware.wifi.hostapd-V1-ndk", "libbase", "libutils", "libbinder_ndk", "libc", "libcutils", "liblog", "libcrypto", "libssl", "libnl", "libkeystore-wifi-hidl", ], relative_install_path: "hw", soc_specific: true, static_libs: [ "libhostapd_aidl_bp", ], header_libs: [ "hostapd_headers", "libhostapd_aidl_headers", ], } soong_config_module_type { name: "hostapd_cflags_cc_defaults", module_type: "cc_defaults", config_namespace: "hostapd", value_variables: [ "platform_version", "nl80211_driver", ], properties: ["cflags"], } hostapd_cflags_cc_defaults { name: "hostapd_cflags_defaults", soong_config_variables: { // Devices that include this module should set these soong config vars appropriately. // For example: // $(call add_soong_config_namespace, wpa_supplicant) // $(call add_soong_config_var_value, wpa_supplicant, platform_version, $(PLATFORM_VERSION)) // $(call add_soong_config_var_value, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA) platform_version: { cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""], conditions_default: { // Default value cflags: ["-DVERSION_STR_POSTFIX=\"-Android\""], }, }, nl80211_driver: { cflags: ["-D%s"], // Flag is optional, so no default value provided. }, }, // Generated by building hostapd and printing LOCAL_CFLAGS. cflags: [ "-DWPA_IGNORE_CONFIG_ERRORS", "-DANDROID_LOG_NAME=\"hostapd\"", "-DANDROID_P2P", "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"", "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"", "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"", "-DHOSTAPD", "-DHOSTAPD_DUMP_STATE", "-DCONFIG_NO_RADIUS", "-DCONFIG_NO_ACCOUNTING", "-DCONFIG_CTRL_IFACE", "-DCONFIG_CTRL_IFACE_UNIX", "-DCONFIG_SUITEB", "-DCONFIG_SUITEB192", "-DCONFIG_IEEE80211R", "-DCONFIG_IEEE80211R_AP", "-DCONFIG_ETH_P_OUI", "-DCONFIG_SAE", "-DCONFIG_SAE_PK", "-DCONFIG_OWE", "-DCONFIG_FILS", "-DCONFIG_WNM", "-DCONFIG_WNM_AP", "-DCONFIG_IEEE80211AC", "-DCONFIG_MBO", "-DCONFIG_WEP", "-DCONFIG_DRIVER_NL80211", "-DEAP_SERVER_MD5", "-DEAP_SERVER_TLS", "-DEAP_SERVER_PEAP", "-DEAP_SERVER_TTLS", "-DEAP_SERVER_MSCHAPV2", "-DEAP_SERVER_GTC", "-DEAP_SERVER_SIM", "-DEAP_SERVER_AKA", "-DEAP_SERVER_AKA_PRIME", "-DEAP_SERVER_PWD", "-DCONFIG_WPS", "-DEAP_SERVER_WSC", "-DCONFIG_WPS_NFC", "-DCONFIG_WPS_OOB", "-DCONFIG_DPP", "-DCONFIG_DPP2", "-DEAP_SERVER_IDENTITY", "-DEAP_SERVER", "-DPKCS12_FUNCS", "-DEAP_TLS_FUNCS", "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", "-DCONFIG_SHA256", "-DCONFIG_SHA384", "-DCONFIG_SHA512", "-DCONFIG_ECC", "-DCONFIG_NO_RANDOM_POOL", "-DCONFIG_IPV6", "-DCONFIG_JSON", "-DNEED_AP_MLME", "-DCONFIG_HS20", "-DCONFIG_INTERWORKING", "-DCONFIG_PROXYARP", "-DCONFIG_ACS", "-DCONFIG_ANDROID_LOG", "-DCONFIG_CTRL_IFACE_AIDL", "-Wall", "-Werror", "-Wno-unused-parameter", "-Wno-unused-variable", "-Wno-macro-redefined", ], } // Generated by building hostapd and printing LOCAL_SRC_FILES. filegroup { name: "hostapd_srcs", srcs: [ "main.c", "config_file.c", "ctrl_iface.c", "eap_register.c", "src/ap/hostapd.c", "src/ap/wpa_auth_glue.c", "src/ap/drv_callbacks.c", "src/ap/ap_drv_ops.c", "src/ap/utils.c", "src/ap/authsrv.c", "src/ap/ieee802_1x.c", "src/ap/ap_config.c", "src/ap/eap_user_db.c", "src/ap/ieee802_11_auth.c", "src/ap/sta_info.c", "src/ap/wpa_auth.c", "src/ap/tkip_countermeasures.c", "src/ap/ap_mlme.c", "src/ap/wpa_auth_ie.c", "src/ap/preauth_auth.c", "src/ap/pmksa_cache_auth.c", "src/ap/ieee802_11_shared.c", "src/ap/beacon.c", "src/ap/bss_load.c", "src/ap/neighbor_db.c", "src/ap/rrm.c", "src/drivers/drivers.c", "src/utils/eloop.c", "src/utils/common.c", "src/utils/wpa_debug.c", "src/utils/wpabuf.c", "src/utils/os_unix.c", "src/utils/ip_addr.c", "src/utils/crc32.c", "src/common/ieee802_11_common.c", "src/common/wpa_common.c", "src/common/hw_features_common.c", "src/eapol_auth/eapol_auth_sm.c", "src/eapol_auth/eapol_auth_dump.c", "src/ap/vlan_init.c", "src/ap/vlan_ifconfig.c", "src/ap/vlan.c", "src/common/ctrl_iface_common.c", "src/ap/ctrl_iface_ap.c", "src/ap/wpa_auth_ft.c", "src/ap/eth_p_oui.c", "src/common/sae.c", "src/common/sae_pk.c", "src/ap/fils_hlp.c", "src/ap/wnm_ap.c", "src/ap/mbo_ap.c", "src/drivers/driver_nl80211.c", "src/drivers/driver_nl80211_android.c", "src/drivers/driver_nl80211_capa.c", "src/drivers/driver_nl80211_event.c", "src/drivers/driver_nl80211_monitor.c", "src/drivers/driver_nl80211_scan.c", "src/drivers/netlink.c", "src/drivers/rfkill.c", "src/utils/radiotap.c", "src/drivers/linux_ioctl.c", "src/l2_packet/l2_packet_linux.c", "src/eap_server/eap_server_md5.c", "src/eap_server/eap_server_tls.c", "src/eap_server/eap_server_peap.c", "src/eap_common/eap_peap_common.c", "src/eap_server/eap_server_ttls.c", "src/eap_server/eap_server_mschapv2.c", "src/eap_server/eap_server_gtc.c", "src/eap_server/eap_server_sim.c", "src/eap_server/eap_server_aka.c", "src/eap_common/eap_sim_common.c", "src/eap_server/eap_sim_db.c", "src/eap_server/eap_server_pwd.c", "src/eap_common/eap_pwd_common.c", "src/utils/uuid.c", "src/ap/wps_hostapd.c", "src/eap_server/eap_server_wsc.c", "src/eap_common/eap_wsc_common.c", "src/wps/wps.c", "src/wps/wps_common.c", "src/wps/wps_attr_parse.c", "src/wps/wps_attr_build.c", "src/wps/wps_attr_process.c", "src/wps/wps_dev_attr.c", "src/wps/wps_enrollee.c", "src/wps/wps_registrar.c", "src/wps/ndef.c", "src/common/dpp.c", "src/common/dpp_auth.c", "src/common/dpp_backup.c", "src/common/dpp_crypto.c", "src/common/dpp_pkex.c", "src/common/dpp_reconfig.c", "src/common/dpp_tcp.c", "src/ap/dpp_hostapd.c", "src/ap/gas_query_ap.c", "src/eap_server/eap_server.c", "src/eap_common/eap_common.c", "src/eap_server/eap_server_methods.c", "src/eap_server/eap_server_identity.c", "src/common/dragonfly.c", "src/crypto/ms_funcs.c", "src/eap_common/chap.c", "src/eap_server/eap_server_tls_common.c", "src/crypto/tls_openssl.c", "src/crypto/tls_openssl_ocsp.c", "src/crypto/crypto_openssl.c", "src/crypto/fips_prf_openssl.c", "src/crypto/aes-siv.c", "src/crypto/aes-ctr.c", "src/crypto/sha1-prf.c", "src/crypto/sha1-tlsprf.c", "src/crypto/sha256-prf.c", "src/crypto/sha256-tlsprf.c", "src/crypto/sha256-kdf.c", "src/crypto/sha384-kdf.c", "src/crypto/sha512-kdf.c", "src/crypto/sha384-prf.c", "src/crypto/sha512-prf.c", "src/tls/asn1.c", "src/crypto/dh_groups.c", "src/utils/base64.c", "src/utils/json.c", "src/ap/wmm.c", "src/ap/ap_list.c", "src/ap/ieee802_11.c", "src/ap/hw_features.c", "src/ap/dfs.c", "src/ap/ieee802_11_ht.c", "src/ap/ieee802_11_vht.c", "src/ap/hs20.c", "src/common/gas.c", "src/ap/gas_serv.c", "src/ap/x_snoop.c", "src/ap/dhcp_snoop.c", "src/ap/ndisc_snoop.c", "src/drivers/driver_common.c", "src/ap/acs.c", ], }