blob: 350641a1284101e62d0008e79f3040fb428b3935 [file] [log] [blame]
Daniel Norman1f2ba852021-10-04 16:14:43 -07001// 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: [
Bob Badour618e16c2022-02-14 12:41:29 -080017 // Inherits SPDX-license-identifier-BSD-3-Clause
18 "external_wpa_supplicant_8_license",
Daniel Norman1f2ba852021-10-04 16:14:43 -070019 ],
20}
21
Bob Badour618e16c2022-02-14 12:41:29 -080022// See: http://go/android-license-faq
Daniel Norman1f2ba852021-10-04 16:14:43 -070023license {
Bob Badour618e16c2022-02-14 12:41:29 -080024 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",
Daniel Norman1f2ba852021-10-04 16:14:43 -070036 ],
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: [
Sunil Ravic1ac7ed2024-09-18 04:46:34 +000070 "android.hardware.wifi.supplicant-V4-ndk",
Gabriel Biren6b4e8272022-12-14 23:07:53 +000071 "android.system.keystore2-V1-ndk",
Daniel Norman1f2ba852021-10-04 16:14:43 -070072 "libbase",
Gabriel Biren57ededa2021-09-03 16:08:50 +000073 "libbinder_ndk",
Daniel Norman1f2ba852021-10-04 16:14:43 -070074 "libc",
75 "libcrypto",
76 "libcutils",
Daniel Norman1f2ba852021-10-04 16:14:43 -070077 "libkeystore-engine-wifi-hidl",
Daniel Norman1f2ba852021-10-04 16:14:43 -070078 "liblog",
79 "libnl",
80 "libssl",
81 "libutils",
82 ],
83 relative_install_path: "hw",
84 soc_specific: true,
85 static_libs: [
Gabriel Biren57ededa2021-09-03 16:08:50 +000086 "libwpa_aidl_bp",
Daniel Norman1f2ba852021-10-04 16:14:43 -070087 ],
88 header_libs: [
89 "wpa_supplicant_headers",
Gabriel Biren57ededa2021-09-03 16:08:50 +000090 "libwpa_aidl_headers",
Daniel Norman1f2ba852021-10-04 16:14:43 -070091 ],
92}
93
Cole Faust0b99b522024-08-20 15:34:57 -070094cc_defaults {
Daniel Norman1f2ba852021-10-04 16:14:43 -070095 name: "wpa_supplicant_cflags_defaults",
Daniel Norman1f2ba852021-10-04 16:14:43 -070096 // Generated by building wpa_supplicant and printing LOCAL_CFLAGS.
97 cflags: [
98 "-DANDROID_LOG_NAME=\"wpa_supplicant\"",
99 "-DANDROID_P2P",
100 "-DCONFIG_ACS",
101 "-DCONFIG_ANDROID_LOG",
102 "-DCONFIG_AP",
103 "-DCONFIG_BACKEND_FILE",
104 "-DCONFIG_CTRL_IFACE",
105 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"",
106 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"",
Gabriel Biren57ededa2021-09-03 16:08:50 +0000107 "-DCONFIG_CTRL_IFACE_AIDL",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700108 "-DCONFIG_CTRL_IFACE_UNIX",
109 "-DCONFIG_DPP",
110 "-DCONFIG_DPP2",
111 "-DCONFIG_DRIVER_NL80211",
112 "-DCONFIG_ECC",
113 "-DCONFIG_ERP",
114 "-DCONFIG_FILS",
115 "-DCONFIG_GAS",
116 "-DCONFIG_GAS_SERVER",
Sundong Ahn4f6ca3a2021-12-02 01:04:41 +0000117 "-DCONFIG_AIDL",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700118 "-DCONFIG_HMAC_SHA256_KDF",
119 "-DCONFIG_HMAC_SHA384_KDF",
120 "-DCONFIG_HMAC_SHA512_KDF",
121 "-DCONFIG_HS20",
122 "-DCONFIG_IEEE80211AC",
123 "-DCONFIG_IEEE80211R",
124 "-DCONFIG_INTERWORKING",
125 "-DCONFIG_IPV6",
126 "-DCONFIG_JSON",
127 "-DCONFIG_MBO",
128 "-DCONFIG_NO_ACCOUNTING",
129 "-DCONFIG_NO_RADIUS",
130 "-DCONFIG_NO_RADIUS",
131 "-DCONFIG_NO_RANDOM_POOL",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700132 "-DCONFIG_NO_VLAN",
133 "-DCONFIG_OFFCHANNEL",
134 "-DCONFIG_OWE",
135 "-DCONFIG_P2P",
136 "-DCONFIG_SAE",
137 "-DCONFIG_SAE_PK",
138 "-DCONFIG_SHA256",
139 "-DCONFIG_SHA384",
140 "-DCONFIG_SHA512",
141 "-DCONFIG_SMARTCARD",
142 "-DCONFIG_SME",
143 "-DCONFIG_SUITEB",
144 "-DCONFIG_SUITEB192",
145 "-DCONFIG_TDLS",
146 "-DCONFIG_WEP",
147 "-DCONFIG_WIFI_DISPLAY",
148 "-DCONFIG_WNM",
149 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"",
150 "-DCONFIG_WPS",
151 "-DCONFIG_WPS_ER",
152 "-DCONFIG_WPS_NFC",
153 "-DCONFIG_WPS_OOB",
154 "-DCONFIG_WPS_UPNP",
155 "-DEAP_AKA",
156 "-DEAP_AKA_PRIME",
157 "-DEAP_GTC",
158 "-DEAP_LEAP",
159 "-DEAP_MD5",
160 "-DEAP_MSCHAPv2",
161 "-DEAP_OTP",
162 "-DEAP_PEAP",
Vinay Gannevarame008ff32024-07-17 18:53:59 +0530163 "-DCONFIG_PTKSA_CACHE",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700164 "-DEAP_PWD",
165 "-DEAP_SERVER",
166 "-DEAP_SERVER_IDENTITY",
167 "-DEAP_SERVER_WSC",
168 "-DEAP_SIM",
169 "-DEAP_TLS",
170 "-DEAP_TLS_OPENSSL",
171 "-DEAP_TTLS",
172 "-DEAP_WSC",
173 "-DIEEE8021X_EAPOL",
174 "-DNEED_AP_MLME",
175 "-DPKCS12_FUNCS",
176 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
177 "-DWPA_IGNORE_CONFIG_ERRORS",
178 "-Wall",
179 "-Werror",
180 "-Wno-error=sometimes-uninitialized",
181 "-Wno-incompatible-pointer-types",
182 "-Wno-incompatible-pointer-types-discards-qualifiers",
183 "-Wno-macro-redefined",
184 "-Wno-parentheses-equality",
185 "-Wno-sign-compare",
186 "-Wno-unused-function",
187 "-Wno-unused-parameter",
188 "-Wno-unused-variable",
Cole Faust0b99b522024-08-20 15:34:57 -0700189 ] +
190 // Devices that include this module should set these soong config vars appropriately.
191 // For example:
192 // $(call soong_config_set, wpa_supplicant, platform_version, $(PLATFORM_VERSION))
193 // $(call soong_config_set, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA)
194 select(soong_config_variable("wpa_supplicant", "platform_version"), {
195 any @ version: ["-DVERSION_STR_POSTFIX=\"-" + version + "\""],
196 default: ["-DVERSION_STR_POSTFIX=\"-Android\""],
197 }) +
198 select(soong_config_variable("wpa_supplicant", "nl80211_driver"), {
199 any @ driver: ["-D" + driver],
200 // Flag is optional, so no default value provided.
201 default: [],
Matthew Wangb1297142024-09-25 16:08:47 +0000202 }) +
203 select(soong_config_variable("wpa_supplicant", "roaming"), {
204 true: [],
205 default: ["-DCONFIG_NO_ROAMING"],
Matthew Wang532c5982024-10-10 12:23:20 +0000206 }) +
207 select(soong_config_variable("wpa_supplicant", "pasn"), {
208 false: [],
209 default: ["-DCONFIG_PASN"],
210 }) +
211 select(soong_config_variable("wpa_supplicant", "bgscan_simple"), {
212 true: [
213 "-DCONFIG_BGSCAN",
214 "-DCONFIG_BGSCAN_SIMPLE",
215 ],
216 default: [],
Cole Faust0b99b522024-08-20 15:34:57 -0700217 }),
Chih-Hung Hsiehf3cee1d2022-12-02 13:06:22 -0800218 // Similar to suppressing clang compiler warnings, here we
219 // suppress clang-tidy warnings to reduce noises in Android build.log.
220 tidy_checks: [
221 "-android-cloexec-*",
222 "-bugprone-branch-clone",
223 "-bugprone-macro-parentheses",
224 "-bugprone-misplaced-widening-cast",
225 "-bugprone-signal-handler",
226 "-bugprone-signed-char-misuse",
227 "-bugprone-sizeof-expression",
228 "-bugprone-suspicious-string-compare",
229 "-bugprone-too-small-loop-variable",
230 "-cert-err34-c",
231 "-cert-msc30-c",
232 "-cert-msc50-cpp",
233 "-cert-msc54-cpp",
234 "-cert-sig30-c",
235 "-cert-str34-c",
236 "-clang-analyzer-core.NullDereference",
237 "-clang-analyzer-core.UndefinedBinaryOperatorResult",
238 "-clang-analyzer-deadcode.DeadStores",
239 "-clang-analyzer-optin.performance.Padding",
240 "-clang-analyzer-optin.portability.UnixAPI",
241 "-clang-analyzer-security.insecureAPI.UncheckedReturn",
242 "-clang-analyzer-unix.cstring.NullArg",
243 "-clang-analyzer-unix.Malloc",
244 "-clang-diagnostic-unused-but-set-variable",
245 "-misc-redundant-expression",
246 ],
Daniel Norman1f2ba852021-10-04 16:14:43 -0700247}
248
249// Generated by building wpa_supplicant and printing LOCAL_SRC_FILES.
250filegroup {
251 name: "wpa_supplicant_srcs",
252 srcs: [
253 "ap.c",
254 "bss.c",
255 "bssid_ignore.c",
256 "config.c",
257 "config_file.c",
258 "ctrl_iface.c",
259 "ctrl_iface_unix.c",
260 "dpp_supplicant.c",
261 "eap_register.c",
262 "events.c",
263 "gas_query.c",
264 "hs20_supplicant.c",
265 "interworking.c",
266 "main.c",
267 "mbo.c",
268 "notify.c",
269 "offchannel.c",
270 "op_classes.c",
271 "p2p_supplicant.c",
272 "p2p_supplicant_sd.c",
273 "robust_av.c",
274 "rrm.c",
275 "scan.c",
276 "sme.c",
277 "src/ap/acs.c",
278 "src/ap/ap_config.c",
279 "src/ap/ap_drv_ops.c",
280 "src/ap/ap_list.c",
Sunil Ravi38ad1ed2023-01-17 23:58:31 +0000281 "src/ap/comeback_token.c",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700282 "src/ap/ap_mlme.c",
283 "src/ap/authsrv.c",
284 "src/ap/beacon.c",
285 "src/ap/bss_load.c",
286 "src/ap/ctrl_iface_ap.c",
287 "src/ap/dfs.c",
288 "src/ap/dpp_hostapd.c",
289 "src/ap/drv_callbacks.c",
290 "src/ap/eap_user_db.c",
291 "src/ap/fils_hlp.c",
292 "src/ap/gas_query_ap.c",
293 "src/ap/gas_serv.c",
294 "src/ap/hostapd.c",
295 "src/ap/hs20.c",
296 "src/ap/hw_features.c",
297 "src/ap/ieee802_11_auth.c",
298 "src/ap/ieee802_11.c",
299 "src/ap/ieee802_11_ht.c",
300 "src/ap/ieee802_11_shared.c",
301 "src/ap/ieee802_11_vht.c",
302 "src/ap/ieee802_1x.c",
303 "src/ap/mbo_ap.c",
304 "src/ap/neighbor_db.c",
305 "src/ap/p2p_hostapd.c",
306 "src/ap/pmksa_cache_auth.c",
307 "src/ap/rrm.c",
308 "src/ap/sta_info.c",
309 "src/ap/tkip_countermeasures.c",
310 "src/ap/utils.c",
311 "src/ap/wmm.c",
312 "src/ap/wpa_auth.c",
313 "src/ap/wpa_auth_glue.c",
314 "src/ap/wpa_auth_ie.c",
315 "src/ap/wps_hostapd.c",
316 "src/common/ctrl_iface_common.c",
317 "src/common/dpp_auth.c",
318 "src/common/dpp_backup.c",
319 "src/common/dpp.c",
320 "src/common/dpp_crypto.c",
321 "src/common/dpp_pkex.c",
322 "src/common/dpp_reconfig.c",
323 "src/common/dpp_tcp.c",
324 "src/common/dragonfly.c",
325 "src/common/gas.c",
326 "src/common/gas_server.c",
327 "src/common/hw_features_common.c",
328 "src/common/ieee802_11_common.c",
329 "src/common/sae.c",
330 "src/common/sae_pk.c",
331 "src/common/wpa_common.c",
Sunil Ravi99c035e2024-07-12 01:42:03 +0000332 "src/common/ptksa_cache.c",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700333 "src/crypto/aes-ctr.c",
chao.meng4c248f02023-11-18 16:55:52 +0800334 "src/crypto/aes-encblock.c",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700335 "src/crypto/aes-siv.c",
336 "src/crypto/crypto_openssl.c",
337 "src/crypto/dh_groups.c",
338 "src/crypto/fips_prf_openssl.c",
chao.meng4c248f02023-11-18 16:55:52 +0800339 "src/crypto/milenage.c",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700340 "src/crypto/ms_funcs.c",
341 "src/crypto/sha1-prf.c",
342 "src/crypto/sha1-tlsprf.c",
343 "src/crypto/sha256-kdf.c",
344 "src/crypto/sha256-prf.c",
345 "src/crypto/sha256-tlsprf.c",
346 "src/crypto/sha384-kdf.c",
347 "src/crypto/sha384-prf.c",
348 "src/crypto/sha512-kdf.c",
349 "src/crypto/sha512-prf.c",
350 "src/crypto/tls_openssl.c",
351 "src/crypto/tls_openssl_ocsp.c",
352 "src/drivers/driver_common.c",
353 "src/drivers/driver_nl80211_android.c",
354 "src/drivers/driver_nl80211.c",
355 "src/drivers/driver_nl80211_capa.c",
356 "src/drivers/driver_nl80211_event.c",
357 "src/drivers/driver_nl80211_monitor.c",
358 "src/drivers/driver_nl80211_scan.c",
359 "src/drivers/drivers.c",
360 "src/drivers/linux_ioctl.c",
361 "src/drivers/netlink.c",
362 "src/drivers/rfkill.c",
363 "src/eap_common/chap.c",
364 "src/eap_common/eap_common.c",
365 "src/eap_common/eap_peap_common.c",
366 "src/eap_common/eap_pwd_common.c",
367 "src/eap_common/eap_sim_common.c",
368 "src/eap_common/eap_wsc_common.c",
369 "src/eapol_auth/eapol_auth_sm.c",
370 "src/eapol_supp/eapol_supp_sm.c",
371 "src/eap_peer/eap_aka.c",
372 "src/eap_peer/eap.c",
373 "src/eap_peer/eap_gtc.c",
374 "src/eap_peer/eap_leap.c",
375 "src/eap_peer/eap_md5.c",
376 "src/eap_peer/eap_methods.c",
377 "src/eap_peer/eap_mschapv2.c",
378 "src/eap_peer/eap_otp.c",
379 "src/eap_peer/eap_peap.c",
380 "src/eap_peer/eap_pwd.c",
381 "src/eap_peer/eap_sim.c",
382 "src/eap_peer/eap_tls.c",
383 "src/eap_peer/eap_tls_common.c",
384 "src/eap_peer/eap_ttls.c",
385 "src/eap_peer/eap_wsc.c",
386 "src/eap_peer/mschapv2.c",
387 "src/eap_server/eap_server.c",
388 "src/eap_server/eap_server_identity.c",
389 "src/eap_server/eap_server_methods.c",
390 "src/eap_server/eap_server_wsc.c",
391 "src/l2_packet/l2_packet_linux.c",
392 "src/p2p/p2p_build.c",
393 "src/p2p/p2p.c",
394 "src/p2p/p2p_dev_disc.c",
395 "src/p2p/p2p_go_neg.c",
396 "src/p2p/p2p_group.c",
397 "src/p2p/p2p_invitation.c",
398 "src/p2p/p2p_parse.c",
399 "src/p2p/p2p_pd.c",
400 "src/p2p/p2p_sd.c",
401 "src/p2p/p2p_utils.c",
402 "src/rsn_supp/pmksa_cache.c",
403 "src/rsn_supp/preauth.c",
404 "src/rsn_supp/tdls.c",
405 "src/rsn_supp/wpa.c",
406 "src/rsn_supp/wpa_ft.c",
407 "src/rsn_supp/wpa_ie.c",
408 "src/tls/asn1.c",
409 "src/utils/base64.c",
410 "src/utils/bitfield.c",
411 "src/utils/common.c",
412 "src/utils/config.c",
413 "src/utils/crc32.c",
414 "src/utils/eloop.c",
415 "src/utils/ip_addr.c",
416 "src/utils/json.c",
417 "src/utils/os_unix.c",
418 "src/utils/radiotap.c",
419 "src/utils/uuid.c",
420 "src/utils/wpabuf.c",
421 "src/utils/wpa_debug.c",
422 "src/wps/http_client.c",
423 "src/wps/httpread.c",
424 "src/wps/http_server.c",
425 "src/wps/ndef.c",
426 "src/wps/upnp_xml.c",
427 "src/wps/wps_attr_build.c",
428 "src/wps/wps_attr_parse.c",
429 "src/wps/wps_attr_process.c",
430 "src/wps/wps.c",
431 "src/wps/wps_common.c",
432 "src/wps/wps_dev_attr.c",
433 "src/wps/wps_enrollee.c",
434 "src/wps/wps_er.c",
435 "src/wps/wps_er_ssdp.c",
436 "src/wps/wps_registrar.c",
437 "src/wps/wps_upnp_ap.c",
438 "src/wps/wps_upnp.c",
439 "src/wps/wps_upnp_event.c",
440 "src/wps/wps_upnp_ssdp.c",
441 "src/wps/wps_upnp_web.c",
chao.meng4c248f02023-11-18 16:55:52 +0800442 "twt.c",
Daniel Norman1f2ba852021-10-04 16:14:43 -0700443 "wifi_display.c",
444 "wmm_ac.c",
445 "wnm_sta.c",
446 "wpas_glue.c",
447 "wpa_supplicant.c",
448 "wps_supplicant.c",
Matthew Wang532c5982024-10-10 12:23:20 +0000449 ] +
450 select(soong_config_variable("wpa_supplicant", "bgscan_simple"), {
451 true: [
452 "bgscan.c",
453 "bgscan_simple.c",
454 ],
455 default: [],
456 }) +
457 select(soong_config_variable("wpa_supplicant", "pasn"), {
458 false: [],
459 default: [
460 "pasn_supplicant.c",
461 "src/pasn/pasn_initiator.c",
462 "src/pasn/pasn_responder.c",
463 "src/pasn/pasn_common.c",
464 ],
465 }),
466
Sunil Ravi3db35ff2023-11-06 23:23:30 +0000467}
chao.meng4c248f02023-11-18 16:55:52 +0800468
469// Generated by building wpa_cli and printing LOCAL_SRC_FILES
470filegroup {
471 name: "wpa_cli_srcs",
472 srcs: [
473 "src/common/cli.c",
Gabriel Birenc69c43d2024-05-24 16:58:00 +0000474 "src/common/wpa_ctrl.c",
chao.meng4c248f02023-11-18 16:55:52 +0800475 "src/utils/common.c",
476 "src/utils/edit.c",
477 "src/utils/eloop.c",
478 "src/utils/os_unix.c",
479 "src/utils/wpa_debug.c",
480 "wpa_cli.c",
481 ],
482}
483
484// Generated by building libwpa_client and printing LOCAL_SRC_FILES
485filegroup {
486 name: "libwpa_client_srcs",
487 srcs: [
488 "src/common/wpa_ctrl.c",
489 "src/utils/os_unix.c",
490 ],
491}
492
493cc_library_headers {
494 name: "libwpa_client_headers",
495 export_include_dirs: [
496 ".",
497 "wpa_client_include/libwpa_client",
498 ],
499 soc_specific: true,
500}
Vinay Gannevaram97e30ce2024-04-04 11:37:19 +0530501
502cc_library {
503 name: "libpasn",
504 vendor: true,
505 cflags: [
506 "-DANDROID_LOG_NAME=\"libpasn\"",
507 "-DANDROID_P2P",
508 "-DCONFIG_ACS",
509 "-DCONFIG_ANDROID_LOG",
510 "-DCONFIG_AP",
511 "-DCONFIG_BACKEND_FILE",
512 "-DCONFIG_CTRL_IFACE",
513 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"",
514 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"",
515 "-DCONFIG_CTRL_IFACE_AIDL",
516 "-DCONFIG_CTRL_IFACE_UNIX",
517 "-DCONFIG_DPP",
518 "-DCONFIG_DPP2",
519 "-DCONFIG_DRIVER_NL80211",
520 "-DCONFIG_ECC",
521 "-DCONFIG_ERP",
522 "-DCONFIG_FILS",
523 "-DCONFIG_GAS",
524 "-DCONFIG_GAS_SERVER",
525 "-DCONFIG_AIDL",
526 "-DCONFIG_HMAC_SHA256_KDF",
527 "-DCONFIG_HMAC_SHA384_KDF",
528 "-DCONFIG_HMAC_SHA512_KDF",
529 "-DCONFIG_HS20",
530 "-DCONFIG_IEEE80211AC",
531 "-DCONFIG_IEEE80211R",
532 "-DCONFIG_INTERWORKING",
533 "-DCONFIG_IPV6",
534 "-DCONFIG_JSON",
535 "-DCONFIG_MBO",
536 "-DCONFIG_NO_ACCOUNTING",
537 "-DCONFIG_NO_RADIUS",
538 "-DCONFIG_NO_RADIUS",
539 "-DCONFIG_NO_RANDOM_POOL",
540 "-DCONFIG_NO_ROAMING",
541 "-DCONFIG_NO_VLAN",
542 "-DCONFIG_OFFCHANNEL",
543 "-DCONFIG_OWE",
544 "-DCONFIG_P2P",
545 "-DCONFIG_SAE",
546 "-DCONFIG_SAE_PK",
547 "-DCONFIG_SHA256",
548 "-DCONFIG_SHA384",
549 "-DCONFIG_SHA512",
550 "-DCONFIG_SMARTCARD",
551 "-DCONFIG_SME",
552 "-DCONFIG_SUITEB",
553 "-DCONFIG_SUITEB192",
554 "-DCONFIG_TDLS",
555 "-DCONFIG_WEP",
556 "-DCONFIG_WIFI_DISPLAY",
557 "-DCONFIG_WNM",
558 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"",
559 "-DCONFIG_WPS",
560 "-DCONFIG_WPS_ER",
561 "-DCONFIG_WPS_NFC",
562 "-DCONFIG_WPS_OOB",
563 "-DCONFIG_WPS_UPNP",
564 "-DEAP_AKA",
565 "-DEAP_AKA_PRIME",
566 "-DEAP_GTC",
567 "-DEAP_LEAP",
568 "-DEAP_MD5",
569 "-DEAP_MSCHAPv2",
570 "-DEAP_OTP",
571 "-DEAP_PEAP",
572 "-DCONFIG_PASN",
573 "-DCONFIG_PTKSA_CACHE",
574 "-DEAP_PWD",
575 "-DEAP_SERVER",
576 "-DEAP_SERVER_IDENTITY",
577 "-DEAP_SERVER_WSC",
578 "-DEAP_SIM",
579 "-DEAP_TLS",
580 "-DEAP_TLS_OPENSSL",
581 "-DEAP_TTLS",
582 "-DEAP_WSC",
583 "-DIEEE8021X_EAPOL",
584 "-DNEED_AP_MLME",
585 "-DPKCS12_FUNCS",
586 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
587 "-DWPA_IGNORE_CONFIG_ERRORS",
588 "-Wall",
589 "-Werror",
590 "-Wno-error=sometimes-uninitialized",
591 "-Wno-incompatible-pointer-types",
592 "-Wno-incompatible-pointer-types-discards-qualifiers",
593 "-Wno-macro-redefined",
594 "-Wno-parentheses-equality",
595 "-Wno-sign-compare",
596 "-Wno-unused-function",
597 "-Wno-unused-parameter",
598 "-Wno-unused-variable",
599 ],
600 product_variables: {
601 debuggable: {
602 cflags: ["-DLOG_NDEBUG=0"],
603 },
604 },
605 local_include_dirs: [
606 ".",
607 "src",
608 "src/common",
609 "src/drivers",
610 "src/eap_common",
611 "src/eapol_supp",
612 "src/eap_peer",
613 "src/eap_server",
614 "src/l2_packet",
615 "src/radius",
616 "src/rsn_supp",
617 "src/tls",
618 "src/utils",
619 "src/wps",
620 ],
621 srcs: [
622 "src/utils/eloop.c",
623 "src/utils/wpa_debug.c",
624 "src/utils/wpabuf.c",
625 "src/utils/os_unix.c",
626 "src/utils/config.c",
627 "src/utils/common.c",
628 "src/utils/base64.c",
629 "src/common/sae.c",
630 "src/common/sae_pk.c",
631 "src/common/wpa_common.c",
632 "src/common/ieee802_11_common.c",
633 "src/common/dragonfly.c",
634 "src/common/ptksa_cache.c",
635 "src/rsn_supp/pmksa_cache.c",
636 "src/rsn_supp/wpa_ie.c",
637 "src/ap/comeback_token.c",
638 "src/ap/pmksa_cache_auth.c",
639 "src/eap_common/eap_common.c",
640 "src/eap_common/chap.c",
641 "src/eap_peer/eap.c",
642 "src/eap_peer/eap_methods.c",
643 "src/eapol_supp/eapol_supp_sm.c",
644 "src/crypto/crypto_openssl.c",
645 "src/crypto/tls_openssl.c",
646 "src/crypto/tls_openssl_ocsp.c",
647 "src/crypto/sha256-tlsprf.c",
648 "src/crypto/sha512-prf.c",
649 "src/crypto/sha384-prf.c",
650 "src/crypto/sha256-prf.c",
651 "src/crypto/sha512-kdf.c",
652 "src/crypto/sha384-kdf.c",
653 "src/crypto/sha256-kdf.c",
654 "src/crypto/dh_groups.c",
655 "src/crypto/aes-siv.c",
656 "src/crypto/aes-ctr.c",
657 "src/crypto/sha1-prf.c",
658 "src/crypto/sha1-tlsprf.c",
659 "src/pasn/pasn_initiator.c",
660 "src/pasn/pasn_responder.c",
661 "src/pasn/pasn_common.c",
662 ],
663 shared_libs: [
664 "libc",
665 "libcutils",
666 "liblog",
667 "libcrypto",
668 "libssl",
669 "libkeystore-engine-wifi-hidl",
670 ],
671 sanitize: {
672 misc_undefined: [
673 "unsigned-integer-overflow",
674 "signed-integer-overflow",
675 ],
676 cfi: true,
677 },
678}
Bill Yang08f249a2024-10-08 07:00:08 +0000679
680// For converting the default to soong
681cc_defaults {
682 name: "wpa_supplicant_driver_srcs_default",
683 srcs: [
684 "src/drivers/driver_nl80211.c",
685 "src/drivers/driver_nl80211_android.c",
686 "src/drivers/driver_nl80211_capa.c",
687 "src/drivers/driver_nl80211_event.c",
688 "src/drivers/driver_nl80211_monitor.c",
689 "src/drivers/driver_nl80211_scan.c",
690 "src/drivers/linux_ioctl.c",
691 "src/drivers/netlink.c",
692 "src/drivers/rfkill.c",
693 "src/utils/radiotap.c",
694 ],
695}
696
697cc_defaults {
698 name: "wpa_supplicant_driver_cflags_default",
699 cflags: [
700 "-DCONFIG_DRIVER_NL80211",
701 // Because the original Android.mk will call hostapd's Android.mk first and it
702 // will make the flag share with wpa_supplicant, keep the original logic in hostapd.
703 ] + select(soong_config_variable("wpa_supplicant_8", "board_wlan_device"), {
704 "bcmdhd": ["-DCONFIG_DRIVER_NL80211_BRCM"],
705 "synadhd": ["-DCONFIG_DRIVER_NL80211_SYNA"],
706 "qcwcn": ["-DCONFIG_DRIVER_NL80211_QCA"],
707 default: ["-DCONFIG_DRIVER_NL80211_QCA"],
708 }),
709}
710
711cc_defaults {
712 name: "wpa_supplicant_includes_default",
713 local_include_dirs: [
714 ".",
715 "src",
716 "src/common",
717 "src/drivers",
718 "src/eap_common",
719 "src/eap_peer",
720 "src/eap_server",
721 "src/eapol_supp",
722 "src/l2_packet",
723 "src/pasn",
724 "src/radius",
725 "src/rsn_supp",
726 "src/tls",
727 "src/utils",
728 "src/wps",
729 ],
730 include_dirs: [
731 // There's an if condition for external/libnl but current code base should always have this.
732 "external/libnl/include",
733 "system/security/keystore/include",
734 ],
735}
736
737soong_config_module_type {
738 name: "wpa_supplicant_cc_defaults_type",
739 module_type: "cc_defaults",
740 config_namespace: "wpa_supplicant_8",
741 value_variables: [
742 "platform_version",
743 ],
744 properties: ["cflags"],
745}
746
747// Hostap related module share the same CFLAGS
748wpa_supplicant_cc_defaults_type {
749 name: "wpa_supplicant_no_aidl_cflags_default",
750 cflags: [
751 "-DANDROID_LOG_NAME=\"wpa_supplicant\"",
752 "-DANDROID_P2P",
753 "-DCONFIG_ACS",
754 "-DCONFIG_ANDROID_LOG",
755 "-DCONFIG_AP",
756 "-DCONFIG_BACKEND_FILE",
757 "-DCONFIG_CTRL_IFACE",
758 "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"",
759 "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"",
760 "-DCONFIG_CTRL_IFACE_UNIX",
761 "-DCONFIG_DPP",
762 "-DCONFIG_DPP2",
763 "-DCONFIG_DRIVER_NL80211",
764 "-DCONFIG_DRIVER_NL80211_QCA",
765 "-DCONFIG_ECC",
766 "-DCONFIG_ERP",
767 "-DCONFIG_FILS",
768 "-DCONFIG_GAS",
769 "-DCONFIG_GAS_SERVER",
770 "-DCONFIG_HMAC_SHA256_KDF",
771 "-DCONFIG_HMAC_SHA384_KDF",
772 "-DCONFIG_HMAC_SHA512_KDF",
773 "-DCONFIG_HS20",
774 "-DCONFIG_IEEE80211AC",
775 "-DCONFIG_IEEE80211R",
776 "-DCONFIG_INTERWORKING",
777 "-DCONFIG_IPV6",
778 "-DCONFIG_JSON",
779 "-DCONFIG_MBO",
780 "-DCONFIG_NO_ACCOUNTING",
781 "-DCONFIG_NO_RADIUS",
782 "-DCONFIG_NO_RADIUS",
783 "-DCONFIG_NO_RANDOM_POOL",
784 "-DCONFIG_NO_ROAMING",
785 "-DCONFIG_NO_VLAN",
786 "-DCONFIG_OFFCHANNEL",
787 "-DCONFIG_OWE",
788 "-DCONFIG_P2P",
789 "-DCONFIG_PASN",
790 "-DCONFIG_PTKSA_CACHE",
791 "-DCONFIG_SAE",
792 "-DCONFIG_SAE_PK",
793 "-DCONFIG_SHA256",
794 "-DCONFIG_SHA384",
795 "-DCONFIG_SHA512",
796 "-DCONFIG_SMARTCARD",
797 "-DCONFIG_SME",
798 "-DCONFIG_SUITEB",
799 "-DCONFIG_SUITEB192",
800 "-DCONFIG_TDLS",
801 "-DCONFIG_WEP",
802 "-DCONFIG_WIFI_DISPLAY",
803 "-DCONFIG_WNM",
804 "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"",
805 "-DCONFIG_WPS",
806 "-DCONFIG_WPS_ER",
807 "-DCONFIG_WPS_NFC",
808 "-DCONFIG_WPS_OOB",
809 "-DCONFIG_WPS_UPNP",
810 "-DCRYPTO_RSA_OAEP_SHA256",
811 "-DEAP_AKA",
812 "-DEAP_AKA_PRIME",
813 "-DEAP_GTC",
814 "-DEAP_LEAP",
815 "-DEAP_MD5",
816 "-DEAP_MSCHAPv2",
817 "-DEAP_OTP",
818 "-DEAP_PEAP",
819 "-DEAP_PWD",
820 "-DEAP_SERVER",
821 "-DEAP_SERVER_IDENTITY",
822 "-DEAP_SERVER_WSC",
823 "-DEAP_SIM",
824 "-DEAP_TLS",
825 "-DEAP_TLSV1_3",
826 "-DEAP_TLS_OPENSSL",
827 "-DEAP_TTLS",
828 "-DEAP_WSC",
829 "-DIEEE8021X_EAPOL",
830 "-DNEED_AP_MLME",
831 "-DPKCS12_FUNCS",
832 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
833 "-DWPA_IGNORE_CONFIG_ERRORS",
834 "-Wall",
835 "-Werror",
836 "-Wno-error=sometimes-uninitialized",
837 "-Wno-incompatible-pointer-types",
838 "-Wno-incompatible-pointer-types-discards-qualifiers",
839 "-Wno-macro-redefined",
840 "-Wno-parentheses-equality",
841 "-Wno-sign-compare",
842 "-Wno-unused-function",
843 "-Wno-unused-parameter",
844 "-Wno-unused-variable",
845 ] + select(soong_config_variable("wpa_supplicant_8", "wpa_supplicant_use_stub_lib"), {
846 true: ["-DANDROID_LIB_STUB"],
847 default: [],
848 }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), {
849 true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"],
850 default: [],
851 }) + select(soong_config_variable("wpa_supplicant_8", "board_wpa_supplicant_private_lib_event"), {
852 true: ["-DANDROID_LIB_EVENT"],
853 default: [],
854 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_priv_cmd_update_mbo_cell_status"), {
855 true: ["-DENABLE_PRIV_CMD_UPDATE_MBO_CELL_STATUS"],
856 default: [],
857 }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
858 true: ["-DCONFIG_IEEE80211AX"],
859 default: [],
860 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_brcm_open_source_multi_akm"), {
861 true: ["-DWIFI_BRCM_OPEN_SOURCE_MULTI_AKM"],
862 default: [],
863 }),
864 arch: {
865 arm: {
866 cflags: [
867 "-mabi=aapcs-linux",
868 ],
869 },
870 },
871 defaults: [
872 "wpa_supplicant_driver_cflags_default",
873 ],
874 soong_config_variables: {
875 platform_version: {
876 cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""],
877 },
878 },
879}
880
881cc_defaults {
882 name: "wpa_supplicant_cflags_default",
883 cflags: [
884 "-DCONFIG_AIDL",
885 "-DCONFIG_CTRL_IFACE_AIDL",
886 ],
887 defaults: [
888 "wpa_supplicant_no_aidl_cflags_default",
889 ],
890}
891
Gabriel Biren2fc93732024-10-10 00:24:33 +0000892wpa_supplicant_cc_defaults_type {
893 name: "wpa_supplicant_mainline_cflags_default",
894 cflags: [
895 "-DANDROID_LIB_STUB",
896 "-DANDROID_LOG_NAME=\"mainline_supplicant\"",
897 "-DCONFIG_ACS",
898 "-DCONFIG_ANDROID_LOG",
899 "-DCONFIG_AP",
900 "-DCONFIG_BACKEND_FILE",
901 "-DCONFIG_CTRL_IFACE",
902 "-DCONFIG_CTRL_IFACE_UNIX",
903 "-DCONFIG_DPP",
904 "-DCONFIG_DPP2",
905 "-DCONFIG_DRIVER_NL80211",
906 "-DCONFIG_DRIVER_NL80211_QCA",
907 "-DCONFIG_ECC",
908 "-DCONFIG_ERP",
909 "-DCONFIG_FILS",
910 "-DCONFIG_GAS",
911 "-DCONFIG_GAS_SERVER",
912 "-DCONFIG_HMAC_SHA256_KDF",
913 "-DCONFIG_HMAC_SHA384_KDF",
914 "-DCONFIG_HMAC_SHA512_KDF",
915 "-DCONFIG_HS20",
916 "-DCONFIG_IEEE80211AC",
917 "-DCONFIG_IEEE80211R",
918 "-DCONFIG_INTERWORKING",
919 "-DCONFIG_IPV6",
920 "-DCONFIG_JSON",
921 "-DCONFIG_MBO",
922 "-DCONFIG_NO_ACCOUNTING",
923 "-DCONFIG_NO_RADIUS",
924 "-DCONFIG_NO_RADIUS",
925 "-DCONFIG_NO_RANDOM_POOL",
926 "-DCONFIG_NO_ROAMING",
927 "-DCONFIG_NO_VLAN",
928 "-DCONFIG_OFFCHANNEL",
929 "-DCONFIG_OWE",
930 "-DCONFIG_P2P",
931 "-DCONFIG_PASN",
932 "-DCONFIG_PTKSA_CACHE",
933 "-DCONFIG_SAE",
934 "-DCONFIG_SAE_PK",
935 "-DCONFIG_SHA256",
936 "-DCONFIG_SHA384",
937 "-DCONFIG_SHA512",
938 "-DCONFIG_SMARTCARD",
939 "-DCONFIG_SME",
940 "-DCONFIG_SUITEB",
941 "-DCONFIG_SUITEB192",
942 "-DCONFIG_TDLS",
943 "-DCONFIG_WEP",
944 "-DCONFIG_WIFI_DISPLAY",
945 "-DCONFIG_WNM",
946 "-DCONFIG_WPS",
947 "-DCONFIG_WPS_ER",
948 "-DCONFIG_WPS_NFC",
949 "-DCONFIG_WPS_OOB",
950 "-DCONFIG_WPS_UPNP",
951 "-DCRYPTO_RSA_OAEP_SHA256",
952 "-DEAP_AKA",
953 "-DEAP_AKA_PRIME",
954 "-DEAP_GTC",
955 "-DEAP_LEAP",
956 "-DEAP_MD5",
957 "-DEAP_MSCHAPv2",
958 "-DEAP_OTP",
959 "-DEAP_PEAP",
960 "-DEAP_PWD",
961 "-DEAP_SERVER",
962 "-DEAP_SERVER_IDENTITY",
963 "-DEAP_SERVER_WSC",
964 "-DEAP_SIM",
965 "-DEAP_TLS",
966 "-DEAP_TLSV1_3",
967 "-DEAP_TLS_OPENSSL",
968 "-DEAP_TTLS",
969 "-DEAP_WSC",
970 "-DIEEE8021X_EAPOL",
971 "-DMAINLINE_SUPPLICANT",
972 "-DNEED_AP_MLME",
973 "-DOPENSSL_NO_ENGINE",
974 "-DPKCS12_FUNCS",
975 "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
976 "-DWPA_IGNORE_CONFIG_ERRORS",
977 "-Wall",
978 "-Werror",
979 "-Wno-error=sometimes-uninitialized",
980 "-Wno-incompatible-pointer-types",
981 "-Wno-incompatible-pointer-types-discards-qualifiers",
982 "-Wno-macro-redefined",
983 "-Wno-parentheses-equality",
984 "-Wno-sign-compare",
985 "-Wno-unused-function",
986 "-Wno-unused-parameter",
987 "-Wno-unused-variable",
988 ] + select(soong_config_variable("wpa_supplicant_8", "wpa_supplicant_use_stub_lib"), {
989 true: ["-DANDROID_LIB_STUB"],
990 default: [],
991 }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), {
992 true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"],
993 default: [],
994 }) + select(soong_config_variable("wpa_supplicant_8", "board_wpa_supplicant_private_lib_event"), {
995 true: ["-DANDROID_LIB_EVENT"],
996 default: [],
997 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_priv_cmd_update_mbo_cell_status"), {
998 true: ["-DENABLE_PRIV_CMD_UPDATE_MBO_CELL_STATUS"],
999 default: [],
1000 }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
1001 true: ["-DCONFIG_IEEE80211AX"],
1002 default: [],
1003 }) + select(soong_config_variable("wpa_supplicant_8", "wifi_brcm_open_source_multi_akm"), {
1004 true: ["-DWIFI_BRCM_OPEN_SOURCE_MULTI_AKM"],
1005 default: [],
1006 }),
1007}
1008
Bill Yang08f249a2024-10-08 07:00:08 +00001009cc_defaults {
1010 name: "wpa_supplicant_srcs_default",
1011 srcs: [
1012 "ap.c",
1013 "bss.c",
1014 "bssid_ignore.c",
1015 "config.c",
1016 "config_file.c",
1017 "ctrl_iface.c",
1018 "ctrl_iface_unix.c",
1019 "dpp_supplicant.c",
1020 "eap_register.c",
1021 "events.c",
1022 "gas_query.c",
1023 "hs20_supplicant.c",
1024 "interworking.c",
1025 "main.c",
1026 "mbo.c",
1027 "notify.c",
1028 "offchannel.c",
1029 "op_classes.c",
1030 "p2p_supplicant.c",
1031 "p2p_supplicant_sd.c",
1032 "pasn_supplicant.c",
1033 "robust_av.c",
1034 "rrm.c",
1035 "scan.c",
1036 "sme.c",
1037 "twt.c",
1038 "wifi_display.c",
1039 "wmm_ac.c",
1040 "wnm_sta.c",
1041 "wpa_supplicant.c",
1042 "wpas_glue.c",
1043 "wps_supplicant.c",
1044 "src/ap/acs.c",
1045 "src/ap/ap_config.c",
1046 "src/ap/ap_drv_ops.c",
1047 "src/ap/ap_list.c",
1048 "src/ap/ap_mlme.c",
1049 "src/ap/authsrv.c",
1050 "src/ap/beacon.c",
1051 "src/ap/bss_load.c",
1052 "src/ap/comeback_token.c",
1053 "src/ap/ctrl_iface_ap.c",
1054 "src/ap/dfs.c",
1055 "src/ap/dpp_hostapd.c",
1056 "src/ap/drv_callbacks.c",
1057 "src/ap/eap_user_db.c",
1058 "src/ap/fils_hlp.c",
1059 "src/ap/gas_query_ap.c",
1060 "src/ap/gas_serv.c",
1061 "src/ap/hostapd.c",
1062 "src/ap/hs20.c",
1063 "src/ap/hw_features.c",
1064 "src/ap/ieee802_11.c",
1065 "src/ap/ieee802_11_auth.c",
1066 "src/ap/ieee802_11_ht.c",
1067 "src/ap/ieee802_11_shared.c",
1068 "src/ap/ieee802_11_vht.c",
1069 "src/ap/ieee802_1x.c",
1070 "src/ap/mbo_ap.c",
1071 "src/ap/neighbor_db.c",
1072 "src/ap/p2p_hostapd.c",
1073 "src/ap/pmksa_cache_auth.c",
1074 "src/ap/rrm.c",
1075 "src/ap/sta_info.c",
1076 "src/ap/tkip_countermeasures.c",
1077 "src/ap/utils.c",
1078 "src/ap/wmm.c",
1079 "src/ap/wpa_auth.c",
1080 "src/ap/wpa_auth_glue.c",
1081 "src/ap/wpa_auth_ie.c",
1082 "src/ap/wps_hostapd.c",
1083 "src/common/ctrl_iface_common.c",
1084 "src/common/dpp.c",
1085 "src/common/dpp_auth.c",
1086 "src/common/dpp_backup.c",
1087 "src/common/dpp_crypto.c",
1088 "src/common/dpp_pkex.c",
1089 "src/common/dpp_reconfig.c",
1090 "src/common/dpp_tcp.c",
1091 "src/common/dragonfly.c",
1092 "src/common/gas.c",
1093 "src/common/gas_server.c",
1094 "src/common/hw_features_common.c",
1095 "src/common/ieee802_11_common.c",
1096 "src/common/ptksa_cache.c",
1097 "src/common/sae.c",
1098 "src/common/sae_pk.c",
1099 "src/common/wpa_common.c",
1100 "src/crypto/aes-ctr.c",
1101 "src/crypto/aes-siv.c",
1102 "src/crypto/crypto_openssl.c",
1103 "src/crypto/dh_groups.c",
1104 "src/crypto/fips_prf_openssl.c",
1105 "src/crypto/ms_funcs.c",
1106 "src/crypto/sha1-prf.c",
1107 "src/crypto/sha1-tlsprf.c",
1108 "src/crypto/sha256-kdf.c",
1109 "src/crypto/sha256-prf.c",
1110 "src/crypto/sha256-tlsprf.c",
1111 "src/crypto/sha384-kdf.c",
1112 "src/crypto/sha384-prf.c",
1113 "src/crypto/sha512-kdf.c",
1114 "src/crypto/sha512-prf.c",
1115 "src/crypto/tls_openssl.c",
1116 "src/crypto/tls_openssl_ocsp.c",
1117 "src/drivers/driver_common.c",
1118 "src/drivers/driver_nl80211.c",
1119 "src/drivers/driver_nl80211_android.c",
1120 "src/drivers/driver_nl80211_capa.c",
1121 "src/drivers/driver_nl80211_event.c",
1122 "src/drivers/driver_nl80211_monitor.c",
1123 "src/drivers/driver_nl80211_scan.c",
1124 "src/drivers/drivers.c",
1125 "src/drivers/linux_ioctl.c",
1126 "src/drivers/netlink.c",
1127 "src/drivers/rfkill.c",
1128 "src/eap_common/chap.c",
1129 "src/eap_common/eap_common.c",
1130 "src/eap_common/eap_peap_common.c",
1131 "src/eap_common/eap_pwd_common.c",
1132 "src/eap_common/eap_sim_common.c",
1133 "src/eap_common/eap_wsc_common.c",
1134 "src/eap_peer/eap.c",
1135 "src/eap_peer/eap_aka.c",
1136 "src/eap_peer/eap_gtc.c",
1137 "src/eap_peer/eap_leap.c",
1138 "src/eap_peer/eap_md5.c",
1139 "src/eap_peer/eap_methods.c",
1140 "src/eap_peer/eap_mschapv2.c",
1141 "src/eap_peer/eap_otp.c",
1142 "src/eap_peer/eap_peap.c",
1143 "src/eap_peer/eap_pwd.c",
1144 "src/eap_peer/eap_sim.c",
1145 "src/eap_peer/eap_tls.c",
1146 "src/eap_peer/eap_tls_common.c",
1147 "src/eap_peer/eap_ttls.c",
1148 "src/eap_peer/eap_wsc.c",
1149 "src/eap_peer/mschapv2.c",
1150 "src/eap_server/eap_server.c",
1151 "src/eap_server/eap_server_identity.c",
1152 "src/eap_server/eap_server_methods.c",
1153 "src/eap_server/eap_server_wsc.c",
1154 "src/eapol_auth/eapol_auth_sm.c",
1155 "src/eapol_supp/eapol_supp_sm.c",
1156 "src/l2_packet/l2_packet_linux.c",
1157 "src/p2p/p2p.c",
1158 "src/p2p/p2p_build.c",
1159 "src/p2p/p2p_dev_disc.c",
1160 "src/p2p/p2p_go_neg.c",
1161 "src/p2p/p2p_group.c",
1162 "src/p2p/p2p_invitation.c",
1163 "src/p2p/p2p_parse.c",
1164 "src/p2p/p2p_pd.c",
1165 "src/p2p/p2p_sd.c",
1166 "src/p2p/p2p_utils.c",
1167 "src/pasn/pasn_common.c",
1168 "src/pasn/pasn_initiator.c",
1169 "src/pasn/pasn_responder.c",
1170 "src/rsn_supp/pmksa_cache.c",
1171 "src/rsn_supp/preauth.c",
1172 "src/rsn_supp/tdls.c",
1173 "src/rsn_supp/wpa.c",
1174 "src/rsn_supp/wpa_ft.c",
1175 "src/rsn_supp/wpa_ie.c",
1176 "src/tls/asn1.c",
1177 "src/utils/base64.c",
1178 "src/utils/bitfield.c",
1179 "src/utils/common.c",
1180 "src/utils/config.c",
1181 "src/utils/crc32.c",
1182 "src/utils/eloop.c",
1183 "src/utils/ip_addr.c",
1184 "src/utils/json.c",
1185 "src/utils/os_unix.c",
1186 "src/utils/radiotap.c",
1187 "src/utils/uuid.c",
1188 "src/utils/wpa_debug.c",
1189 "src/utils/wpabuf.c",
1190 "src/wps/http_client.c",
1191 "src/wps/http_server.c",
1192 "src/wps/httpread.c",
1193 "src/wps/ndef.c",
1194 "src/wps/upnp_xml.c",
1195 "src/wps/wps.c",
1196 "src/wps/wps_attr_build.c",
1197 "src/wps/wps_attr_parse.c",
1198 "src/wps/wps_attr_process.c",
1199 "src/wps/wps_common.c",
1200 "src/wps/wps_dev_attr.c",
1201 "src/wps/wps_enrollee.c",
1202 "src/wps/wps_er.c",
1203 "src/wps/wps_er_ssdp.c",
1204 "src/wps/wps_registrar.c",
1205 "src/wps/wps_upnp.c",
1206 "src/wps/wps_upnp_ap.c",
1207 "src/wps/wps_upnp_event.c",
1208 "src/wps/wps_upnp_ssdp.c",
1209 "src/wps/wps_upnp_web.c",
1210 ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
1211 true: ["src/ap/ieee802_11_he.c"],
1212 default: [],
1213 }),
1214 defaults: [
1215 "wpa_supplicant_driver_srcs_default",
1216 ],
1217}
1218
1219cc_binary {
1220 name: "wpa_cli",
1221 proprietary: true,
1222 srcs: [
1223 "wpa_cli.c",
1224 "src/common/cli.c",
1225 "src/common/wpa_ctrl.c",
1226 "src/utils/common.c",
1227 "src/utils/edit.c",
1228 "src/utils/eloop.c",
1229 "src/utils/os_unix.c",
1230 "src/utils/wpa_debug.c",
1231 ],
1232 shared_libs: [
1233 "libcutils",
1234 "liblog",
1235 ],
1236 defaults: [
1237 "wpa_supplicant_cflags_default",
1238 "wpa_supplicant_includes_default",
1239 ],
1240}
1241
1242soong_config_module_type {
1243 name: "wpa_supplicant_cc_binary",
1244 module_type: "cc_binary",
1245 config_namespace: "wpa_supplicant_8",
1246 value_variables: [
1247 "board_wpa_supplicant_private_lib",
1248 ],
1249 bool_variables: [
1250 "wifi_hidl_unified_supplicant_service_rc_entry",
1251 ],
1252 properties: [
1253 "init_rc",
1254 "static_libs",
1255 ],
1256}
1257
1258wpa_supplicant_cc_binary {
1259 name: "wpa_supplicant",
1260 proprietary: true,
1261 relative_install_path: "hw",
1262 // vintf_fragments: wpa_supplicant only
1263 // vintf_fragments: ["aidl/android.hardware.wifi.supplicant.xml"],
1264 required: [
1265 "android.hardware.wifi.supplicant.xml",
1266 ],
1267 // wpa_supplicant only
1268 static_libs: [
1269 "libwpa_aidl",
1270 ],
1271 shared_libs: [
1272 // Share between wpa_supplicant and wpa_supplicant_macsec
1273 "libc",
1274 "libcrypto",
1275 "libcutils",
1276 "libkeystore-engine-wifi-hidl",
1277 "liblog",
1278 "libnl",
1279 "libssl",
1280 ] + [
1281 // wpa_supplicant only
1282 "android.hardware.wifi.supplicant-V4-ndk",
1283 "android.system.keystore2-V1-ndk",
1284 "libbase",
1285 "libbinder_ndk",
1286 "libutils",
1287 ],
1288 defaults: [
1289 "wpa_supplicant_srcs_default",
1290 "wpa_supplicant_cflags_default",
1291 "wpa_supplicant_includes_default",
1292 ],
1293 soong_config_variables: {
1294 board_wpa_supplicant_private_lib: {
1295 static_libs: ["%s"],
1296 },
1297 // init_rc: wpa_supplicant only
1298 wifi_hidl_unified_supplicant_service_rc_entry: {
Gabriel Biren3c401c52024-10-10 20:11:18 +00001299 init_rc: ["aidl/vendor/android.hardware.wifi.supplicant-service.rc"],
Bill Yang08f249a2024-10-08 07:00:08 +00001300 },
1301 },
1302}
1303
1304wpa_supplicant_cc_binary {
1305 name: "wpa_supplicant_macsec",
1306 proprietary: true,
1307 relative_install_path: "hw",
1308 srcs: [
1309 // wpa_supplicant_macsec only
1310 ":wpa_supplicant_macsec_extra_driver_srcs",
1311 "wpas_kay.c",
1312 "src/ap/wpa_auth_kay.c",
1313 "src/pae/ieee802_1x_cp.c",
1314 "src/pae/ieee802_1x_kay.c",
1315 "src/pae/ieee802_1x_key.c",
1316 "src/pae/ieee802_1x_secy_ops.c",
1317 "src/pae/aidl/aidl_psk.cpp",
1318 ],
1319 shared_libs: [
1320 // Share between wpa_supplicant and wpa_supplicant_macsec
1321 "libc",
1322 "libcrypto",
1323 "libcutils",
1324 "libkeystore-engine-wifi-hidl",
1325 "liblog",
1326 "libnl",
1327 "libssl",
1328 ] + [
1329 // wpa_supplicant_macsec only
1330 "android.hardware.macsec-V1-ndk",
1331 "libbinder_ndk",
1332 ],
1333 cflags: [
1334 "-DCONFIG_AIDL_MACSEC_PSK_METHODS",
1335 "-DCONFIG_DRIVER_MACSEC_LINUX",
1336 "-DCONFIG_MACSEC",
1337 ],
1338 local_include_dirs: [
1339 // wpa_supplicant_macsec only
1340 "aidl",
1341 ],
1342 defaults: [
1343 "wpa_supplicant_srcs_default",
1344 "wpa_supplicant_includes_default",
1345 "wpa_supplicant_no_aidl_cflags_default",
1346 ],
1347 soong_config_variables: {
1348 board_wpa_supplicant_private_lib: {
1349 static_libs: ["%s"],
1350 },
1351 },
1352}
1353
Gabriel Biren2fc93732024-10-10 00:24:33 +00001354wpa_supplicant_cc_binary {
1355 name: "wpa_supplicant_mainline",
1356 shared_libs: [
1357 "libc",
1358 "libcrypto",
1359 "libcutils_sockets",
1360 "liblog",
1361 "libnl",
1362 "libssl",
1363 ],
1364 defaults: [
1365 "wpa_supplicant_srcs_default",
1366 "wpa_supplicant_includes_default",
1367 "wpa_supplicant_mainline_cflags_default",
1368 ],
1369 apex_available: [
1370 "//apex_available:platform",
1371 "com.android.wifi",
1372 ],
1373 min_sdk_version: "30",
1374}
1375
Bill Yang08f249a2024-10-08 07:00:08 +00001376cc_library_shared {
1377 name: "libwpa_client",
1378 proprietary: true,
1379 srcs: [
1380 "src/common/wpa_ctrl.c",
1381 "src/utils/os_unix.c",
1382 ],
1383 shared_libs: [
1384 "libc",
1385 "libcutils",
1386 "liblog",
1387 ],
1388 defaults: [
1389 "wpa_supplicant_cflags_default",
1390 "wpa_supplicant_includes_default",
1391 ],
1392}
1393
1394//## Aidl service library ###
1395//#######################
1396cc_library_static {
1397 name: "libwpa_aidl",
1398 vendor: true,
1399 cppflags: [
1400 "-Wall",
1401 "-Werror",
1402 "-Wno-unused-parameter",
1403 "-Wno-unused-private-field",
1404 "-Wno-unused-variable",
1405 ],
1406 srcs: [
Gabriel Biren3c401c52024-10-10 20:11:18 +00001407 "aidl/vendor/aidl.cpp",
1408 "aidl/vendor/aidl_manager.cpp",
1409 "aidl/vendor/certificate_utils.cpp",
1410 "aidl/vendor/iface_config_utils.cpp",
1411 "aidl/vendor/p2p_iface.cpp",
1412 "aidl/vendor/p2p_network.cpp",
1413 "aidl/vendor/sta_iface.cpp",
1414 "aidl/vendor/sta_network.cpp",
1415 "aidl/vendor/supplicant.cpp",
Bill Yang08f249a2024-10-08 07:00:08 +00001416 ],
1417 shared_libs: [
1418 "android.hardware.wifi.supplicant-V4-ndk",
1419 "android.system.keystore2-V1-ndk",
1420 "libbinder_ndk",
1421 "libbase",
1422 "libutils",
1423 "liblog",
1424 "libssl",
1425 ],
1426 export_include_dirs: ["aidl"],
1427 defaults: [
1428 "wpa_supplicant_cflags_default",
1429 "wpa_supplicant_includes_default",
1430 ],
1431}