blob: 04ef6696ceb0bbead817a5633e52df2d85e51b82 [file] [log] [blame]
Sundong Ahn4f6ca3a2021-12-02 01:04:41 +00001// 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/aes-omac1.c",
291 "src/crypto/sha1-prf.c",
292 "src/crypto/sha1-tlsprf.c",
293 "src/crypto/sha256-prf.c",
294 "src/crypto/sha256-tlsprf.c",
295 "src/crypto/sha256-kdf.c",
296 "src/crypto/sha384-kdf.c",
297 "src/crypto/sha512-kdf.c",
298 "src/crypto/sha384-prf.c",
299 "src/crypto/sha512-prf.c",
300 "src/tls/asn1.c",
301 "src/crypto/dh_groups.c",
302 "src/utils/base64.c",
303 "src/utils/json.c",
304 "src/ap/wmm.c",
305 "src/ap/ap_list.c",
306 "src/ap/ieee802_11.c",
307 "src/ap/hw_features.c",
308 "src/ap/dfs.c",
309 "src/ap/ieee802_11_ht.c",
310 "src/ap/ieee802_11_vht.c",
311 "src/ap/hs20.c",
312 "src/common/gas.c",
313 "src/ap/gas_serv.c",
314 "src/ap/x_snoop.c",
315 "src/ap/dhcp_snoop.c",
316 "src/ap/ndisc_snoop.c",
317 "src/drivers/driver_common.c",
318 "src/ap/acs.c",
319 ],
320
321}
Jeongik Chad4cfa122022-11-18 15:09:34 +0900322
323// This manifest can used by a vendor apex module for hostapd as well.
324filegroup {
325 name: "android.hardware.wifi.hostapd.xml",
326 srcs: ["android.hardware.wifi.hostapd.xml"],
327}