• 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        "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