• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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        // Inherits SPDX-license-identifier-BSD-3-Clause
18        "external_wpa_supplicant_8_license",
19    ],
20}
21
22// See: http://go/android-license-faq
23license {
24    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",
36    ],
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: [
70        "android.hardware.wifi.supplicant-V1-ndk",
71        "libbase",
72        "libbinder_ndk",
73        "libc",
74        "libcrypto",
75        "libcutils",
76        "libkeystore-engine-wifi-hidl",
77        "libkeystore-wifi-hidl",
78        "liblog",
79        "libnl",
80        "libssl",
81        "libutils",
82    ],
83    relative_install_path: "hw",
84    soc_specific: true,
85    static_libs: [
86        "libwpa_aidl_bp",
87    ],
88    header_libs: [
89        "wpa_supplicant_headers",
90        "libwpa_aidl_headers",
91    ],
92}
93
94soong_config_module_type {
95    name: "wpa_supplicant_cflags_cc_defaults",
96    module_type: "cc_defaults",
97    config_namespace: "wpa_supplicant",
98    value_variables: [
99        "platform_version",
100        "nl80211_driver",
101    ],
102    properties: ["cflags"],
103}
104
105wpa_supplicant_cflags_cc_defaults {
106    name: "wpa_supplicant_cflags_defaults",
107    soong_config_variables: {
108        // Devices that include this module should set these soong config vars appropriately.
109        // For example:
110        //   $(call add_soong_config_namespace, wpa_supplicant)
111        //   $(call add_soong_config_var_value, wpa_supplicant, platform_version, $(PLATFORM_VERSION))
112        //   $(call add_soong_config_var_value, wpa_supplicant, nl80211_driver, CONFIG_DRIVER_NL80211_QCA)
113        platform_version: {
114            cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""],
115            conditions_default: {
116                // Default value
117                cflags: ["-DVERSION_STR_POSTFIX=\"-Android\""],
118            },
119        },
120        nl80211_driver: {
121            cflags: ["-D%s"],
122            // Flag is optional, so no default value provided.
123        },
124    },
125    // Generated by building wpa_supplicant and printing LOCAL_CFLAGS.
126    cflags: [
127        "-DANDROID_LOG_NAME=\"wpa_supplicant\"",
128        "-DANDROID_P2P",
129        "-DCONFIG_ACS",
130        "-DCONFIG_ANDROID_LOG",
131        "-DCONFIG_AP",
132        "-DCONFIG_BACKEND_FILE",
133        "-DCONFIG_CTRL_IFACE",
134        "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/wpa/sockets\"",
135        "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/wpa/sockets\"",
136        "-DCONFIG_CTRL_IFACE_AIDL",
137        "-DCONFIG_CTRL_IFACE_UNIX",
138        "-DCONFIG_DPP",
139        "-DCONFIG_DPP2",
140        "-DCONFIG_DRIVER_NL80211",
141        "-DCONFIG_ECC",
142        "-DCONFIG_ERP",
143        "-DCONFIG_FILS",
144        "-DCONFIG_GAS",
145        "-DCONFIG_GAS_SERVER",
146        "-DCONFIG_AIDL",
147        "-DCONFIG_HMAC_SHA256_KDF",
148        "-DCONFIG_HMAC_SHA384_KDF",
149        "-DCONFIG_HMAC_SHA512_KDF",
150        "-DCONFIG_HS20",
151        "-DCONFIG_IEEE80211AC",
152        "-DCONFIG_IEEE80211R",
153        "-DCONFIG_INTERWORKING",
154        "-DCONFIG_IPV6",
155        "-DCONFIG_JSON",
156        "-DCONFIG_MBO",
157        "-DCONFIG_NO_ACCOUNTING",
158        "-DCONFIG_NO_RADIUS",
159        "-DCONFIG_NO_RADIUS",
160        "-DCONFIG_NO_RANDOM_POOL",
161        "-DCONFIG_NO_ROAMING",
162        "-DCONFIG_NO_VLAN",
163        "-DCONFIG_OFFCHANNEL",
164        "-DCONFIG_OWE",
165        "-DCONFIG_P2P",
166        "-DCONFIG_SAE",
167        "-DCONFIG_SAE_PK",
168        "-DCONFIG_SHA256",
169        "-DCONFIG_SHA384",
170        "-DCONFIG_SHA512",
171        "-DCONFIG_SMARTCARD",
172        "-DCONFIG_SME",
173        "-DCONFIG_SUITEB",
174        "-DCONFIG_SUITEB192",
175        "-DCONFIG_TDLS",
176        "-DCONFIG_WEP",
177        "-DCONFIG_WIFI_DISPLAY",
178        "-DCONFIG_WNM",
179        "-DCONFIG_WPA_CLI_HISTORY_DIR=\"/data/vendor/wifi/wpa\"",
180        "-DCONFIG_WPS",
181        "-DCONFIG_WPS_ER",
182        "-DCONFIG_WPS_NFC",
183        "-DCONFIG_WPS_OOB",
184        "-DCONFIG_WPS_UPNP",
185        "-DEAP_AKA",
186        "-DEAP_AKA_PRIME",
187        "-DEAP_GTC",
188        "-DEAP_LEAP",
189        "-DEAP_MD5",
190        "-DEAP_MSCHAPv2",
191        "-DEAP_OTP",
192        "-DEAP_PEAP",
193        "-DEAP_PWD",
194        "-DEAP_SERVER",
195        "-DEAP_SERVER_IDENTITY",
196        "-DEAP_SERVER_WSC",
197        "-DEAP_SIM",
198        "-DEAP_TLS",
199        "-DEAP_TLS_OPENSSL",
200        "-DEAP_TTLS",
201        "-DEAP_WSC",
202        "-DIEEE8021X_EAPOL",
203        "-DNEED_AP_MLME",
204        "-DPKCS12_FUNCS",
205        "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
206        "-DWPA_IGNORE_CONFIG_ERRORS",
207        "-Wall",
208        "-Werror",
209        "-Wno-error=sometimes-uninitialized",
210        "-Wno-incompatible-pointer-types",
211        "-Wno-incompatible-pointer-types-discards-qualifiers",
212        "-Wno-macro-redefined",
213        "-Wno-parentheses-equality",
214        "-Wno-sign-compare",
215        "-Wno-unused-function",
216        "-Wno-unused-parameter",
217        "-Wno-unused-variable",
218    ],
219}
220
221// Generated by building wpa_supplicant and printing LOCAL_SRC_FILES.
222filegroup {
223    name: "wpa_supplicant_srcs",
224    srcs: [
225        "ap.c",
226        "bss.c",
227        "bssid_ignore.c",
228        "config.c",
229        "config_file.c",
230        "ctrl_iface.c",
231        "ctrl_iface_unix.c",
232        "dpp_supplicant.c",
233        "eap_register.c",
234        "events.c",
235        "gas_query.c",
236        "hs20_supplicant.c",
237        "interworking.c",
238        "main.c",
239        "mbo.c",
240        "notify.c",
241        "offchannel.c",
242        "op_classes.c",
243        "p2p_supplicant.c",
244        "p2p_supplicant_sd.c",
245        "robust_av.c",
246        "rrm.c",
247        "scan.c",
248        "sme.c",
249        "src/ap/acs.c",
250        "src/ap/ap_config.c",
251        "src/ap/ap_drv_ops.c",
252        "src/ap/ap_list.c",
253        "src/ap/ap_mlme.c",
254        "src/ap/authsrv.c",
255        "src/ap/beacon.c",
256        "src/ap/bss_load.c",
257        "src/ap/ctrl_iface_ap.c",
258        "src/ap/dfs.c",
259        "src/ap/dpp_hostapd.c",
260        "src/ap/drv_callbacks.c",
261        "src/ap/eap_user_db.c",
262        "src/ap/fils_hlp.c",
263        "src/ap/gas_query_ap.c",
264        "src/ap/gas_serv.c",
265        "src/ap/hostapd.c",
266        "src/ap/hs20.c",
267        "src/ap/hw_features.c",
268        "src/ap/ieee802_11_auth.c",
269        "src/ap/ieee802_11.c",
270        "src/ap/ieee802_11_ht.c",
271        "src/ap/ieee802_11_shared.c",
272        "src/ap/ieee802_11_vht.c",
273        "src/ap/ieee802_1x.c",
274        "src/ap/mbo_ap.c",
275        "src/ap/neighbor_db.c",
276        "src/ap/p2p_hostapd.c",
277        "src/ap/pmksa_cache_auth.c",
278        "src/ap/rrm.c",
279        "src/ap/sta_info.c",
280        "src/ap/tkip_countermeasures.c",
281        "src/ap/utils.c",
282        "src/ap/wmm.c",
283        "src/ap/wpa_auth.c",
284        "src/ap/wpa_auth_glue.c",
285        "src/ap/wpa_auth_ie.c",
286        "src/ap/wps_hostapd.c",
287        "src/common/ctrl_iface_common.c",
288        "src/common/dpp_auth.c",
289        "src/common/dpp_backup.c",
290        "src/common/dpp.c",
291        "src/common/dpp_crypto.c",
292        "src/common/dpp_pkex.c",
293        "src/common/dpp_reconfig.c",
294        "src/common/dpp_tcp.c",
295        "src/common/dragonfly.c",
296        "src/common/gas.c",
297        "src/common/gas_server.c",
298        "src/common/hw_features_common.c",
299        "src/common/ieee802_11_common.c",
300        "src/common/sae.c",
301        "src/common/sae_pk.c",
302        "src/common/wpa_common.c",
303        "src/crypto/aes-ctr.c",
304        "src/crypto/aes-siv.c",
305        "src/crypto/crypto_openssl.c",
306        "src/crypto/dh_groups.c",
307        "src/crypto/fips_prf_openssl.c",
308        "src/crypto/ms_funcs.c",
309        "src/crypto/sha1-prf.c",
310        "src/crypto/sha1-tlsprf.c",
311        "src/crypto/sha256-kdf.c",
312        "src/crypto/sha256-prf.c",
313        "src/crypto/sha256-tlsprf.c",
314        "src/crypto/sha384-kdf.c",
315        "src/crypto/sha384-prf.c",
316        "src/crypto/sha512-kdf.c",
317        "src/crypto/sha512-prf.c",
318        "src/crypto/tls_openssl.c",
319        "src/crypto/tls_openssl_ocsp.c",
320        "src/drivers/driver_common.c",
321        "src/drivers/driver_nl80211_android.c",
322        "src/drivers/driver_nl80211.c",
323        "src/drivers/driver_nl80211_capa.c",
324        "src/drivers/driver_nl80211_event.c",
325        "src/drivers/driver_nl80211_monitor.c",
326        "src/drivers/driver_nl80211_scan.c",
327        "src/drivers/drivers.c",
328        "src/drivers/linux_ioctl.c",
329        "src/drivers/netlink.c",
330        "src/drivers/rfkill.c",
331        "src/eap_common/chap.c",
332        "src/eap_common/eap_common.c",
333        "src/eap_common/eap_peap_common.c",
334        "src/eap_common/eap_pwd_common.c",
335        "src/eap_common/eap_sim_common.c",
336        "src/eap_common/eap_wsc_common.c",
337        "src/eapol_auth/eapol_auth_sm.c",
338        "src/eapol_supp/eapol_supp_sm.c",
339        "src/eap_peer/eap_aka.c",
340        "src/eap_peer/eap.c",
341        "src/eap_peer/eap_gtc.c",
342        "src/eap_peer/eap_leap.c",
343        "src/eap_peer/eap_md5.c",
344        "src/eap_peer/eap_methods.c",
345        "src/eap_peer/eap_mschapv2.c",
346        "src/eap_peer/eap_otp.c",
347        "src/eap_peer/eap_peap.c",
348        "src/eap_peer/eap_pwd.c",
349        "src/eap_peer/eap_sim.c",
350        "src/eap_peer/eap_tls.c",
351        "src/eap_peer/eap_tls_common.c",
352        "src/eap_peer/eap_ttls.c",
353        "src/eap_peer/eap_wsc.c",
354        "src/eap_peer/mschapv2.c",
355        "src/eap_server/eap_server.c",
356        "src/eap_server/eap_server_identity.c",
357        "src/eap_server/eap_server_methods.c",
358        "src/eap_server/eap_server_wsc.c",
359        "src/l2_packet/l2_packet_linux.c",
360        "src/p2p/p2p_build.c",
361        "src/p2p/p2p.c",
362        "src/p2p/p2p_dev_disc.c",
363        "src/p2p/p2p_go_neg.c",
364        "src/p2p/p2p_group.c",
365        "src/p2p/p2p_invitation.c",
366        "src/p2p/p2p_parse.c",
367        "src/p2p/p2p_pd.c",
368        "src/p2p/p2p_sd.c",
369        "src/p2p/p2p_utils.c",
370        "src/rsn_supp/pmksa_cache.c",
371        "src/rsn_supp/preauth.c",
372        "src/rsn_supp/tdls.c",
373        "src/rsn_supp/wpa.c",
374        "src/rsn_supp/wpa_ft.c",
375        "src/rsn_supp/wpa_ie.c",
376        "src/tls/asn1.c",
377        "src/utils/base64.c",
378        "src/utils/bitfield.c",
379        "src/utils/common.c",
380        "src/utils/config.c",
381        "src/utils/crc32.c",
382        "src/utils/eloop.c",
383        "src/utils/ip_addr.c",
384        "src/utils/json.c",
385        "src/utils/os_unix.c",
386        "src/utils/radiotap.c",
387        "src/utils/uuid.c",
388        "src/utils/wpabuf.c",
389        "src/utils/wpa_debug.c",
390        "src/wps/http_client.c",
391        "src/wps/httpread.c",
392        "src/wps/http_server.c",
393        "src/wps/ndef.c",
394        "src/wps/upnp_xml.c",
395        "src/wps/wps_attr_build.c",
396        "src/wps/wps_attr_parse.c",
397        "src/wps/wps_attr_process.c",
398        "src/wps/wps.c",
399        "src/wps/wps_common.c",
400        "src/wps/wps_dev_attr.c",
401        "src/wps/wps_enrollee.c",
402        "src/wps/wps_er.c",
403        "src/wps/wps_er_ssdp.c",
404        "src/wps/wps_registrar.c",
405        "src/wps/wps_upnp_ap.c",
406        "src/wps/wps_upnp.c",
407        "src/wps/wps_upnp_event.c",
408        "src/wps/wps_upnp_ssdp.c",
409        "src/wps/wps_upnp_web.c",
410        "wifi_display.c",
411        "wmm_ac.c",
412        "wnm_sta.c",
413        "wpas_glue.c",
414        "wpa_supplicant.c",
415        "wps_supplicant.c",
416    ],
417}
418