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 "external_wpa_supplicant_8_license", 18 "external_wpa_supplicant_8_hostapd_license", 19 ], 20} 21 22license { 23 name: "external_wpa_supplicant_8_hostapd_license", 24 visibility: [":__subpackages__"], 25 license_kinds: [ 26 "SPDX-license-identifier-BSD-3-Clause", 27 "SPDX-license-identifier-ISC", 28 "legacy_unencumbered", 29 ], 30} 31 32cc_library_headers { 33 name: "hostapd_headers", 34 export_include_dirs: [ 35 ".", 36 "src", 37 "src/utils", 38 ], 39 soc_specific: true, 40} 41 42 43cc_defaults { 44 name: "hostapd_defaults", 45 defaults: ["hostapd_cflags_defaults"], 46 srcs: [":hostapd_srcs"], 47 shared_libs: [ 48 "android.hardware.wifi.hostapd-V1-ndk", 49 "libbase", 50 "libutils", 51 "libbinder_ndk", 52 "libc", 53 "libcutils", 54 "liblog", 55 "libcrypto", 56 "libssl", 57 "libnl", 58 "libkeystore-wifi-hidl", 59 ], 60 relative_install_path: "hw", 61 soc_specific: true, 62 static_libs: [ 63 "libhostapd_aidl_bp", 64 ], 65 header_libs: [ 66 "hostapd_headers", 67 "libhostapd_aidl_headers", 68 ], 69} 70 71soong_config_module_type { 72 name: "hostapd_cflags_cc_defaults", 73 module_type: "cc_defaults", 74 config_namespace: "hostapd", 75 value_variables: [ 76 "platform_version", 77 "nl80211_driver", 78 ], 79 properties: ["cflags"], 80} 81 82hostapd_cflags_cc_defaults { 83 name: "hostapd_cflags_defaults", 84 soong_config_variables: { 85 // Devices that include this module should set these soong config vars appropriately. 86 // For example: 87 // $(call add_soong_config_namespace, wpa_supplicant) 88 // $(call add_soong_config_var_value, wpa_supplicant, platform_version, $(PLATFORM_VERSION)) 89 // $(call add_soong_config_var_value, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA) 90 platform_version: { 91 cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""], 92 conditions_default: { 93 // Default value 94 cflags: ["-DVERSION_STR_POSTFIX=\"-Android\""], 95 }, 96 }, 97 nl80211_driver: { 98 cflags: ["-D%s"], 99 // Flag is optional, so no default value provided. 100 }, 101 }, 102 // Generated by building hostapd and printing LOCAL_CFLAGS. 103 cflags: [ 104 "-DWPA_IGNORE_CONFIG_ERRORS", 105 "-DANDROID_LOG_NAME=\"hostapd\"", 106 "-DANDROID_P2P", 107 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"", 108 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"", 109 "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"", 110 "-DHOSTAPD", 111 "-DHOSTAPD_DUMP_STATE", 112 "-DCONFIG_NO_RADIUS", 113 "-DCONFIG_NO_ACCOUNTING", 114 "-DCONFIG_CTRL_IFACE", 115 "-DCONFIG_CTRL_IFACE_UNIX", 116 "-DCONFIG_SUITEB", 117 "-DCONFIG_SUITEB192", 118 "-DCONFIG_IEEE80211R", 119 "-DCONFIG_IEEE80211R_AP", 120 "-DCONFIG_ETH_P_OUI", 121 "-DCONFIG_SAE", 122 "-DCONFIG_SAE_PK", 123 "-DCONFIG_OWE", 124 "-DCONFIG_FILS", 125 "-DCONFIG_WNM", 126 "-DCONFIG_WNM_AP", 127 "-DCONFIG_IEEE80211AC", 128 "-DCONFIG_MBO", 129 "-DCONFIG_WEP", 130 "-DCONFIG_DRIVER_NL80211", 131 "-DEAP_SERVER_MD5", 132 "-DEAP_SERVER_TLS", 133 "-DEAP_SERVER_PEAP", 134 "-DEAP_SERVER_TTLS", 135 "-DEAP_SERVER_MSCHAPV2", 136 "-DEAP_SERVER_GTC", 137 "-DEAP_SERVER_SIM", 138 "-DEAP_SERVER_AKA", 139 "-DEAP_SERVER_AKA_PRIME", 140 "-DEAP_SERVER_PWD", 141 "-DCONFIG_WPS", 142 "-DEAP_SERVER_WSC", 143 "-DCONFIG_WPS_NFC", 144 "-DCONFIG_WPS_OOB", 145 "-DCONFIG_DPP", 146 "-DCONFIG_DPP2", 147 "-DEAP_SERVER_IDENTITY", 148 "-DEAP_SERVER", 149 "-DPKCS12_FUNCS", 150 "-DEAP_TLS_FUNCS", 151 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"", 152 "-DCONFIG_SHA256", 153 "-DCONFIG_SHA384", 154 "-DCONFIG_SHA512", 155 "-DCONFIG_ECC", 156 "-DCONFIG_NO_RANDOM_POOL", 157 "-DCONFIG_IPV6", 158 "-DCONFIG_JSON", 159 "-DNEED_AP_MLME", 160 "-DCONFIG_HS20", 161 "-DCONFIG_INTERWORKING", 162 "-DCONFIG_PROXYARP", 163 "-DCONFIG_ACS", 164 "-DCONFIG_ANDROID_LOG", 165 "-DCONFIG_CTRL_IFACE_AIDL", 166 "-Wall", 167 "-Werror", 168 "-Wno-unused-parameter", 169 "-Wno-unused-variable", 170 "-Wno-macro-redefined", 171 ], 172} 173 174 175// Generated by building hostapd and printing LOCAL_SRC_FILES. 176filegroup { 177 name: "hostapd_srcs", 178 srcs: [ 179 "main.c", 180 "config_file.c", 181 "ctrl_iface.c", 182 "eap_register.c", 183 "src/ap/hostapd.c", 184 "src/ap/wpa_auth_glue.c", 185 "src/ap/drv_callbacks.c", 186 "src/ap/ap_drv_ops.c", 187 "src/ap/utils.c", 188 "src/ap/authsrv.c", 189 "src/ap/ieee802_1x.c", 190 "src/ap/ap_config.c", 191 "src/ap/eap_user_db.c", 192 "src/ap/ieee802_11_auth.c", 193 "src/ap/sta_info.c", 194 "src/ap/wpa_auth.c", 195 "src/ap/tkip_countermeasures.c", 196 "src/ap/ap_mlme.c", 197 "src/ap/wpa_auth_ie.c", 198 "src/ap/preauth_auth.c", 199 "src/ap/pmksa_cache_auth.c", 200 "src/ap/ieee802_11_shared.c", 201 "src/ap/beacon.c", 202 "src/ap/bss_load.c", 203 "src/ap/neighbor_db.c", 204 "src/ap/rrm.c", 205 "src/drivers/drivers.c", 206 "src/utils/eloop.c", 207 "src/utils/common.c", 208 "src/utils/wpa_debug.c", 209 "src/utils/wpabuf.c", 210 "src/utils/os_unix.c", 211 "src/utils/ip_addr.c", 212 "src/utils/crc32.c", 213 "src/common/ieee802_11_common.c", 214 "src/common/wpa_common.c", 215 "src/common/hw_features_common.c", 216 "src/eapol_auth/eapol_auth_sm.c", 217 "src/eapol_auth/eapol_auth_dump.c", 218 "src/ap/vlan_init.c", 219 "src/ap/vlan_ifconfig.c", 220 "src/ap/vlan.c", 221 "src/common/ctrl_iface_common.c", 222 "src/ap/ctrl_iface_ap.c", 223 "src/ap/wpa_auth_ft.c", 224 "src/ap/eth_p_oui.c", 225 "src/common/sae.c", 226 "src/common/sae_pk.c", 227 "src/ap/fils_hlp.c", 228 "src/ap/wnm_ap.c", 229 "src/ap/mbo_ap.c", 230 "src/drivers/driver_nl80211.c", 231 "src/drivers/driver_nl80211_android.c", 232 "src/drivers/driver_nl80211_capa.c", 233 "src/drivers/driver_nl80211_event.c", 234 "src/drivers/driver_nl80211_monitor.c", 235 "src/drivers/driver_nl80211_scan.c", 236 "src/drivers/netlink.c", 237 "src/drivers/rfkill.c", 238 "src/utils/radiotap.c", 239 "src/drivers/linux_ioctl.c", 240 "src/l2_packet/l2_packet_linux.c", 241 "src/eap_server/eap_server_md5.c", 242 "src/eap_server/eap_server_tls.c", 243 "src/eap_server/eap_server_peap.c", 244 "src/eap_common/eap_peap_common.c", 245 "src/eap_server/eap_server_ttls.c", 246 "src/eap_server/eap_server_mschapv2.c", 247 "src/eap_server/eap_server_gtc.c", 248 "src/eap_server/eap_server_sim.c", 249 "src/eap_server/eap_server_aka.c", 250 "src/eap_common/eap_sim_common.c", 251 "src/eap_server/eap_sim_db.c", 252 "src/eap_server/eap_server_pwd.c", 253 "src/eap_common/eap_pwd_common.c", 254 "src/utils/uuid.c", 255 "src/ap/wps_hostapd.c", 256 "src/eap_server/eap_server_wsc.c", 257 "src/eap_common/eap_wsc_common.c", 258 "src/wps/wps.c", 259 "src/wps/wps_common.c", 260 "src/wps/wps_attr_parse.c", 261 "src/wps/wps_attr_build.c", 262 "src/wps/wps_attr_process.c", 263 "src/wps/wps_dev_attr.c", 264 "src/wps/wps_enrollee.c", 265 "src/wps/wps_registrar.c", 266 "src/wps/ndef.c", 267 "src/common/dpp.c", 268 "src/common/dpp_auth.c", 269 "src/common/dpp_backup.c", 270 "src/common/dpp_crypto.c", 271 "src/common/dpp_pkex.c", 272 "src/common/dpp_reconfig.c", 273 "src/common/dpp_tcp.c", 274 "src/ap/dpp_hostapd.c", 275 "src/ap/gas_query_ap.c", 276 "src/eap_server/eap_server.c", 277 "src/eap_common/eap_common.c", 278 "src/eap_server/eap_server_methods.c", 279 "src/eap_server/eap_server_identity.c", 280 "src/common/dragonfly.c", 281 "src/crypto/ms_funcs.c", 282 "src/eap_common/chap.c", 283 "src/eap_server/eap_server_tls_common.c", 284 "src/crypto/tls_openssl.c", 285 "src/crypto/tls_openssl_ocsp.c", 286 "src/crypto/crypto_openssl.c", 287 "src/crypto/fips_prf_openssl.c", 288 "src/crypto/aes-siv.c", 289 "src/crypto/aes-ctr.c", 290 "src/crypto/sha1-prf.c", 291 "src/crypto/sha1-tlsprf.c", 292 "src/crypto/sha256-prf.c", 293 "src/crypto/sha256-tlsprf.c", 294 "src/crypto/sha256-kdf.c", 295 "src/crypto/sha384-kdf.c", 296 "src/crypto/sha512-kdf.c", 297 "src/crypto/sha384-prf.c", 298 "src/crypto/sha512-prf.c", 299 "src/tls/asn1.c", 300 "src/crypto/dh_groups.c", 301 "src/utils/base64.c", 302 "src/utils/json.c", 303 "src/ap/wmm.c", 304 "src/ap/ap_list.c", 305 "src/ap/ieee802_11.c", 306 "src/ap/hw_features.c", 307 "src/ap/dfs.c", 308 "src/ap/ieee802_11_ht.c", 309 "src/ap/ieee802_11_vht.c", 310 "src/ap/hs20.c", 311 "src/common/gas.c", 312 "src/ap/gas_serv.c", 313 "src/ap/x_snoop.c", 314 "src/ap/dhcp_snoop.c", 315 "src/ap/ndisc_snoop.c", 316 "src/drivers/driver_common.c", 317 "src/ap/acs.c", 318 ], 319 320} 321