xref: /aosp_15_r20/external/wpa_supplicant_8/hostapd/Android.bp (revision 03f9172ca588f91df233974f4258bab95191f931)
1*03f9172cSAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project
2*03f9172cSAndroid Build Coastguard Worker//
3*03f9172cSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*03f9172cSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*03f9172cSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*03f9172cSAndroid Build Coastguard Worker//
7*03f9172cSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*03f9172cSAndroid Build Coastguard Worker//
9*03f9172cSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*03f9172cSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*03f9172cSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*03f9172cSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*03f9172cSAndroid Build Coastguard Worker// limitations under the License.
14*03f9172cSAndroid Build Coastguard Worker
15*03f9172cSAndroid Build Coastguard Workerpackage {
16*03f9172cSAndroid Build Coastguard Worker    default_applicable_licenses: [
17*03f9172cSAndroid Build Coastguard Worker        "external_wpa_supplicant_8_license",
18*03f9172cSAndroid Build Coastguard Worker        "external_wpa_supplicant_8_hostapd_license",
19*03f9172cSAndroid Build Coastguard Worker    ],
20*03f9172cSAndroid Build Coastguard Worker}
21*03f9172cSAndroid Build Coastguard Worker
22*03f9172cSAndroid Build Coastguard Workerlicense {
23*03f9172cSAndroid Build Coastguard Worker    name: "external_wpa_supplicant_8_hostapd_license",
24*03f9172cSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*03f9172cSAndroid Build Coastguard Worker    license_kinds: [
26*03f9172cSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD-3-Clause",
27*03f9172cSAndroid Build Coastguard Worker        "SPDX-license-identifier-ISC",
28*03f9172cSAndroid Build Coastguard Worker        "legacy_unencumbered",
29*03f9172cSAndroid Build Coastguard Worker    ],
30*03f9172cSAndroid Build Coastguard Worker}
31*03f9172cSAndroid Build Coastguard Worker
32*03f9172cSAndroid Build Coastguard Workercc_library_headers {
33*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_headers",
34*03f9172cSAndroid Build Coastguard Worker    export_include_dirs: [
35*03f9172cSAndroid Build Coastguard Worker        ".",
36*03f9172cSAndroid Build Coastguard Worker        "src",
37*03f9172cSAndroid Build Coastguard Worker        "src/utils",
38*03f9172cSAndroid Build Coastguard Worker    ],
39*03f9172cSAndroid Build Coastguard Worker    soc_specific: true,
40*03f9172cSAndroid Build Coastguard Worker}
41*03f9172cSAndroid Build Coastguard Worker
42*03f9172cSAndroid Build Coastguard Workercc_defaults {
43*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_defaults",
44*03f9172cSAndroid Build Coastguard Worker    defaults: ["hostapd_cflags_defaults"],
45*03f9172cSAndroid Build Coastguard Worker    srcs: [":hostapd_srcs"],
46*03f9172cSAndroid Build Coastguard Worker    shared_libs: [
47*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.hostapd-V3-ndk",
48*03f9172cSAndroid Build Coastguard Worker        "libbase",
49*03f9172cSAndroid Build Coastguard Worker        "libutils",
50*03f9172cSAndroid Build Coastguard Worker        "libbinder_ndk",
51*03f9172cSAndroid Build Coastguard Worker        "libc",
52*03f9172cSAndroid Build Coastguard Worker        "libcutils",
53*03f9172cSAndroid Build Coastguard Worker        "liblog",
54*03f9172cSAndroid Build Coastguard Worker        "libcrypto",
55*03f9172cSAndroid Build Coastguard Worker        "libssl",
56*03f9172cSAndroid Build Coastguard Worker        "libnl",
57*03f9172cSAndroid Build Coastguard Worker    ],
58*03f9172cSAndroid Build Coastguard Worker    relative_install_path: "hw",
59*03f9172cSAndroid Build Coastguard Worker    soc_specific: true,
60*03f9172cSAndroid Build Coastguard Worker    static_libs: [
61*03f9172cSAndroid Build Coastguard Worker        "libhostapd_aidl_bp",
62*03f9172cSAndroid Build Coastguard Worker    ],
63*03f9172cSAndroid Build Coastguard Worker    header_libs: [
64*03f9172cSAndroid Build Coastguard Worker        "hostapd_headers",
65*03f9172cSAndroid Build Coastguard Worker        "libhostapd_aidl_headers",
66*03f9172cSAndroid Build Coastguard Worker    ],
67*03f9172cSAndroid Build Coastguard Worker}
68*03f9172cSAndroid Build Coastguard Worker
69*03f9172cSAndroid Build Coastguard Workercc_defaults {
70*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cflags_defaults",
71*03f9172cSAndroid Build Coastguard Worker    // Generated by building hostapd and printing LOCAL_CFLAGS.
72*03f9172cSAndroid Build Coastguard Worker    cflags: [
73*03f9172cSAndroid Build Coastguard Worker        "-DWPA_IGNORE_CONFIG_ERRORS",
74*03f9172cSAndroid Build Coastguard Worker        "-DANDROID_LOG_NAME=\"hostapd\"",
75*03f9172cSAndroid Build Coastguard Worker        "-DANDROID_P2P",
76*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"",
77*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"",
78*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"",
79*03f9172cSAndroid Build Coastguard Worker        "-DHOSTAPD",
80*03f9172cSAndroid Build Coastguard Worker        "-DHOSTAPD_DUMP_STATE",
81*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_RADIUS",
82*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_ACCOUNTING",
83*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE",
84*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_UNIX",
85*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SUITEB",
86*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SUITEB192",
87*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IEEE80211R",
88*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IEEE80211R_AP",
89*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ETH_P_OUI",
90*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SAE",
91*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SAE_PK",
92*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_OWE",
93*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_FILS",
94*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WNM",
95*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WNM_AP",
96*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IEEE80211AC",
97*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_MBO",
98*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WEP",
99*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_DRIVER_NL80211",
100*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_MD5",
101*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_TLS",
102*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_PEAP",
103*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_TTLS",
104*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_MSCHAPV2",
105*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_GTC",
106*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_SIM",
107*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_AKA",
108*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_AKA_PRIME",
109*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_PWD",
110*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WPS",
111*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_WSC",
112*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WPS_NFC",
113*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WPS_OOB",
114*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_DPP",
115*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_DPP2",
116*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_IDENTITY",
117*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER",
118*03f9172cSAndroid Build Coastguard Worker        "-DPKCS12_FUNCS",
119*03f9172cSAndroid Build Coastguard Worker        "-DEAP_TLS_FUNCS",
120*03f9172cSAndroid Build Coastguard Worker        "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
121*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA256",
122*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA384",
123*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA512",
124*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ECC",
125*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_RANDOM_POOL",
126*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IPV6",
127*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_JSON",
128*03f9172cSAndroid Build Coastguard Worker        "-DNEED_AP_MLME",
129*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_HS20",
130*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_INTERWORKING",
131*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_PROXYARP",
132*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ACS",
133*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ANDROID_LOG",
134*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_AIDL",
135*03f9172cSAndroid Build Coastguard Worker        "-Wall",
136*03f9172cSAndroid Build Coastguard Worker        "-Werror",
137*03f9172cSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
138*03f9172cSAndroid Build Coastguard Worker        "-Wno-unused-variable",
139*03f9172cSAndroid Build Coastguard Worker        "-Wno-macro-redefined",
140*03f9172cSAndroid Build Coastguard Worker    ] +
141*03f9172cSAndroid Build Coastguard Worker        // Devices that include this module should set these soong config vars appropriately.
142*03f9172cSAndroid Build Coastguard Worker        // For example:
143*03f9172cSAndroid Build Coastguard Worker        //   $(call soong_config_set, hostapd, platform_version, $(PLATFORM_VERSION))
144*03f9172cSAndroid Build Coastguard Worker        //   $(call soong_config_set, hostapd, nl80211_driver, CONFIG_DRIVER_NL80211_QCA)
145*03f9172cSAndroid Build Coastguard Worker        select(soong_config_variable("hostapd", "platform_version"), {
146*03f9172cSAndroid Build Coastguard Worker            any @ version: ["-DVERSION_STR_POSTFIX=\"-" + version + "\""],
147*03f9172cSAndroid Build Coastguard Worker            default: ["-DVERSION_STR_POSTFIX=\"-Android\""],
148*03f9172cSAndroid Build Coastguard Worker        }) +
149*03f9172cSAndroid Build Coastguard Worker        select(soong_config_variable("hostapd", "nl80211_driver"), {
150*03f9172cSAndroid Build Coastguard Worker            any @ driver: ["-D" + driver],
151*03f9172cSAndroid Build Coastguard Worker            // Flag is optional, so no default value provided.
152*03f9172cSAndroid Build Coastguard Worker            default: [],
153*03f9172cSAndroid Build Coastguard Worker        }),
154*03f9172cSAndroid Build Coastguard Worker
155*03f9172cSAndroid Build Coastguard Worker    // Similar to suppressing clang compiler warnings, here we
156*03f9172cSAndroid Build Coastguard Worker    // suppress clang-tidy warnings to reduce noises in Android build.log.
157*03f9172cSAndroid Build Coastguard Worker    tidy_checks: [
158*03f9172cSAndroid Build Coastguard Worker        "-android-cloexec-*",
159*03f9172cSAndroid Build Coastguard Worker        "-bugprone-branch-clone",
160*03f9172cSAndroid Build Coastguard Worker        "-bugprone-macro-parentheses",
161*03f9172cSAndroid Build Coastguard Worker        "-bugprone-misplaced-widening-cast",
162*03f9172cSAndroid Build Coastguard Worker        "-bugprone-signal-handler",
163*03f9172cSAndroid Build Coastguard Worker        "-bugprone-signed-char-misuse",
164*03f9172cSAndroid Build Coastguard Worker        "-bugprone-sizeof-expression",
165*03f9172cSAndroid Build Coastguard Worker        "-bugprone-suspicious-string-compare",
166*03f9172cSAndroid Build Coastguard Worker        "-bugprone-too-small-loop-variable",
167*03f9172cSAndroid Build Coastguard Worker        "-cert-err34-c",
168*03f9172cSAndroid Build Coastguard Worker        "-cert-msc30-c",
169*03f9172cSAndroid Build Coastguard Worker        "-cert-msc50-cpp",
170*03f9172cSAndroid Build Coastguard Worker        "-cert-msc54-cpp",
171*03f9172cSAndroid Build Coastguard Worker        "-cert-sig30-c",
172*03f9172cSAndroid Build Coastguard Worker        "-cert-str34-c",
173*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-core.NullDereference",
174*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-core.UndefinedBinaryOperatorResult",
175*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-deadcode.DeadStores",
176*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-optin.performance.Padding",
177*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-optin.portability.UnixAPI",
178*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-security.insecureAPI.UncheckedReturn",
179*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-unix.cstring.NullArg",
180*03f9172cSAndroid Build Coastguard Worker        "-clang-analyzer-unix.Malloc",
181*03f9172cSAndroid Build Coastguard Worker        "-clang-diagnostic-unused-but-set-variable",
182*03f9172cSAndroid Build Coastguard Worker        "-misc-redundant-expression",
183*03f9172cSAndroid Build Coastguard Worker    ],
184*03f9172cSAndroid Build Coastguard Worker}
185*03f9172cSAndroid Build Coastguard Worker
186*03f9172cSAndroid Build Coastguard Worker// Generated by building hostapd and printing LOCAL_SRC_FILES.
187*03f9172cSAndroid Build Coastguard Workerfilegroup {
188*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_srcs",
189*03f9172cSAndroid Build Coastguard Worker    srcs: [
190*03f9172cSAndroid Build Coastguard Worker        "main.c",
191*03f9172cSAndroid Build Coastguard Worker        "config_file.c",
192*03f9172cSAndroid Build Coastguard Worker        "ctrl_iface.c",
193*03f9172cSAndroid Build Coastguard Worker        "eap_register.c",
194*03f9172cSAndroid Build Coastguard Worker        "src/ap/hostapd.c",
195*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth_glue.c",
196*03f9172cSAndroid Build Coastguard Worker        "src/ap/drv_callbacks.c",
197*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_drv_ops.c",
198*03f9172cSAndroid Build Coastguard Worker        "src/ap/utils.c",
199*03f9172cSAndroid Build Coastguard Worker        "src/ap/authsrv.c",
200*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_1x.c",
201*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_config.c",
202*03f9172cSAndroid Build Coastguard Worker        "src/ap/eap_user_db.c",
203*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_auth.c",
204*03f9172cSAndroid Build Coastguard Worker        "src/ap/sta_info.c",
205*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth.c",
206*03f9172cSAndroid Build Coastguard Worker        "src/ap/tkip_countermeasures.c",
207*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_mlme.c",
208*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth_ie.c",
209*03f9172cSAndroid Build Coastguard Worker        "src/ap/preauth_auth.c",
210*03f9172cSAndroid Build Coastguard Worker        "src/ap/pmksa_cache_auth.c",
211*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_shared.c",
212*03f9172cSAndroid Build Coastguard Worker        "src/ap/beacon.c",
213*03f9172cSAndroid Build Coastguard Worker        "src/ap/bss_load.c",
214*03f9172cSAndroid Build Coastguard Worker        "src/ap/neighbor_db.c",
215*03f9172cSAndroid Build Coastguard Worker        "src/ap/rrm.c",
216*03f9172cSAndroid Build Coastguard Worker        "src/drivers/drivers.c",
217*03f9172cSAndroid Build Coastguard Worker        "src/utils/eloop.c",
218*03f9172cSAndroid Build Coastguard Worker        "src/utils/common.c",
219*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpa_debug.c",
220*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpabuf.c",
221*03f9172cSAndroid Build Coastguard Worker        "src/utils/os_unix.c",
222*03f9172cSAndroid Build Coastguard Worker        "src/utils/ip_addr.c",
223*03f9172cSAndroid Build Coastguard Worker        "src/utils/crc32.c",
224*03f9172cSAndroid Build Coastguard Worker        "src/common/ieee802_11_common.c",
225*03f9172cSAndroid Build Coastguard Worker        "src/common/wpa_common.c",
226*03f9172cSAndroid Build Coastguard Worker        "src/common/hw_features_common.c",
227*03f9172cSAndroid Build Coastguard Worker        "src/common/ptksa_cache.c",
228*03f9172cSAndroid Build Coastguard Worker        "src/eapol_auth/eapol_auth_sm.c",
229*03f9172cSAndroid Build Coastguard Worker        "src/eapol_auth/eapol_auth_dump.c",
230*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan_init.c",
231*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan_ifconfig.c",
232*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan.c",
233*03f9172cSAndroid Build Coastguard Worker        "src/common/ctrl_iface_common.c",
234*03f9172cSAndroid Build Coastguard Worker        "src/ap/ctrl_iface_ap.c",
235*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth_ft.c",
236*03f9172cSAndroid Build Coastguard Worker        "src/ap/eth_p_oui.c",
237*03f9172cSAndroid Build Coastguard Worker        "src/common/sae.c",
238*03f9172cSAndroid Build Coastguard Worker        "src/common/sae_pk.c",
239*03f9172cSAndroid Build Coastguard Worker        "src/ap/fils_hlp.c",
240*03f9172cSAndroid Build Coastguard Worker        "src/ap/wnm_ap.c",
241*03f9172cSAndroid Build Coastguard Worker        "src/ap/mbo_ap.c",
242*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211.c",
243*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_android.c",
244*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_capa.c",
245*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_event.c",
246*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_monitor.c",
247*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_scan.c",
248*03f9172cSAndroid Build Coastguard Worker        "src/drivers/netlink.c",
249*03f9172cSAndroid Build Coastguard Worker        "src/drivers/rfkill.c",
250*03f9172cSAndroid Build Coastguard Worker        "src/utils/radiotap.c",
251*03f9172cSAndroid Build Coastguard Worker        "src/drivers/linux_ioctl.c",
252*03f9172cSAndroid Build Coastguard Worker        "src/l2_packet/l2_packet_linux.c",
253*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_md5.c",
254*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_tls.c",
255*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_peap.c",
256*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_peap_common.c",
257*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_ttls.c",
258*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_mschapv2.c",
259*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_gtc.c",
260*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_sim.c",
261*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_aka.c",
262*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_sim_common.c",
263*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_sim_db.c",
264*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_pwd.c",
265*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_pwd_common.c",
266*03f9172cSAndroid Build Coastguard Worker        "src/utils/uuid.c",
267*03f9172cSAndroid Build Coastguard Worker        "src/ap/wps_hostapd.c",
268*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_wsc.c",
269*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_wsc_common.c",
270*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps.c",
271*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_common.c",
272*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_parse.c",
273*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_build.c",
274*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_process.c",
275*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_dev_attr.c",
276*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_enrollee.c",
277*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_registrar.c",
278*03f9172cSAndroid Build Coastguard Worker        "src/wps/ndef.c",
279*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp.c",
280*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_auth.c",
281*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_backup.c",
282*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_crypto.c",
283*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_pkex.c",
284*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_reconfig.c",
285*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_tcp.c",
286*03f9172cSAndroid Build Coastguard Worker        "src/ap/dpp_hostapd.c",
287*03f9172cSAndroid Build Coastguard Worker        "src/ap/gas_query_ap.c",
288*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server.c",
289*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_common.c",
290*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_methods.c",
291*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_identity.c",
292*03f9172cSAndroid Build Coastguard Worker        "src/common/dragonfly.c",
293*03f9172cSAndroid Build Coastguard Worker        "src/crypto/ms_funcs.c",
294*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/chap.c",
295*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_tls_common.c",
296*03f9172cSAndroid Build Coastguard Worker        "src/crypto/tls_openssl.c",
297*03f9172cSAndroid Build Coastguard Worker        "src/crypto/tls_openssl_ocsp.c",
298*03f9172cSAndroid Build Coastguard Worker        "src/crypto/crypto_openssl.c",
299*03f9172cSAndroid Build Coastguard Worker        "src/crypto/fips_prf_openssl.c",
300*03f9172cSAndroid Build Coastguard Worker        "src/crypto/aes-siv.c",
301*03f9172cSAndroid Build Coastguard Worker        "src/crypto/aes-ctr.c",
302*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha1-prf.c",
303*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha1-tlsprf.c",
304*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-prf.c",
305*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-tlsprf.c",
306*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-kdf.c",
307*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha384-kdf.c",
308*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha512-kdf.c",
309*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha384-prf.c",
310*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha512-prf.c",
311*03f9172cSAndroid Build Coastguard Worker        "src/tls/asn1.c",
312*03f9172cSAndroid Build Coastguard Worker        "src/crypto/dh_groups.c",
313*03f9172cSAndroid Build Coastguard Worker        "src/utils/base64.c",
314*03f9172cSAndroid Build Coastguard Worker        "src/utils/json.c",
315*03f9172cSAndroid Build Coastguard Worker        "src/ap/wmm.c",
316*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_list.c",
317*03f9172cSAndroid Build Coastguard Worker        "src/ap/comeback_token.c",
318*03f9172cSAndroid Build Coastguard Worker        "src/pasn/pasn_responder.c",
319*03f9172cSAndroid Build Coastguard Worker        "src/pasn/pasn_common.c",
320*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11.c",
321*03f9172cSAndroid Build Coastguard Worker        "src/ap/hw_features.c",
322*03f9172cSAndroid Build Coastguard Worker        "src/ap/dfs.c",
323*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_ht.c",
324*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_vht.c",
325*03f9172cSAndroid Build Coastguard Worker        "src/ap/hs20.c",
326*03f9172cSAndroid Build Coastguard Worker        "src/common/gas.c",
327*03f9172cSAndroid Build Coastguard Worker        "src/ap/gas_serv.c",
328*03f9172cSAndroid Build Coastguard Worker        "src/ap/x_snoop.c",
329*03f9172cSAndroid Build Coastguard Worker        "src/ap/dhcp_snoop.c",
330*03f9172cSAndroid Build Coastguard Worker        "src/ap/ndisc_snoop.c",
331*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_common.c",
332*03f9172cSAndroid Build Coastguard Worker        "src/ap/acs.c",
333*03f9172cSAndroid Build Coastguard Worker    ],
334*03f9172cSAndroid Build Coastguard Worker
335*03f9172cSAndroid Build Coastguard Worker}
336*03f9172cSAndroid Build Coastguard Worker
337*03f9172cSAndroid Build Coastguard Worker// This manifest can used by a vendor apex module for hostapd as well.
338*03f9172cSAndroid Build Coastguard Workervintf_fragment {
339*03f9172cSAndroid Build Coastguard Worker    name: "android.hardware.wifi.hostapd.xml",
340*03f9172cSAndroid Build Coastguard Worker    src: "android.hardware.wifi.hostapd.xml",
341*03f9172cSAndroid Build Coastguard Worker    soc_specific: true,
342*03f9172cSAndroid Build Coastguard Worker}
343*03f9172cSAndroid Build Coastguard Worker
344*03f9172cSAndroid Build Coastguard Worker// Generated by building hostapd_cli and printing LOCAL_SRC_FILES
345*03f9172cSAndroid Build Coastguard Workerfilegroup {
346*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cli_srcs",
347*03f9172cSAndroid Build Coastguard Worker    srcs: [
348*03f9172cSAndroid Build Coastguard Worker        "hostapd_cli.c",
349*03f9172cSAndroid Build Coastguard Worker        "src/common/cli.c",
350*03f9172cSAndroid Build Coastguard Worker        "src/common/wpa_ctrl.c",
351*03f9172cSAndroid Build Coastguard Worker        "src/utils/common.c",
352*03f9172cSAndroid Build Coastguard Worker        "src/utils/edit.c",
353*03f9172cSAndroid Build Coastguard Worker        "src/utils/eloop.c",
354*03f9172cSAndroid Build Coastguard Worker        "src/utils/os_unix.c",
355*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpa_debug.c",
356*03f9172cSAndroid Build Coastguard Worker    ],
357*03f9172cSAndroid Build Coastguard Worker}
358*03f9172cSAndroid Build Coastguard Worker
359*03f9172cSAndroid Build Coastguard Workerprebuilt_etc {
360*03f9172cSAndroid Build Coastguard Worker    name: "android.hardware.wifi.hostapd.xml.prebuilt",
361*03f9172cSAndroid Build Coastguard Worker    src: "android.hardware.wifi.hostapd.xml",
362*03f9172cSAndroid Build Coastguard Worker    relative_install_path: "vintf",
363*03f9172cSAndroid Build Coastguard Worker    installable: false,
364*03f9172cSAndroid Build Coastguard Worker}
365*03f9172cSAndroid Build Coastguard Worker
366*03f9172cSAndroid Build Coastguard Worker// For converting the default to soong
367*03f9172cSAndroid Build Coastguard Workercc_defaults {
368*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_driver_srcs_default",
369*03f9172cSAndroid Build Coastguard Worker    srcs: [
370*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211.c",
371*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_android.c",
372*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_capa.c",
373*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_event.c",
374*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_monitor.c",
375*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_nl80211_scan.c",
376*03f9172cSAndroid Build Coastguard Worker        "src/drivers/linux_ioctl.c",
377*03f9172cSAndroid Build Coastguard Worker        "src/drivers/netlink.c",
378*03f9172cSAndroid Build Coastguard Worker        "src/drivers/rfkill.c",
379*03f9172cSAndroid Build Coastguard Worker        "src/utils/radiotap.c",
380*03f9172cSAndroid Build Coastguard Worker    ],
381*03f9172cSAndroid Build Coastguard Worker}
382*03f9172cSAndroid Build Coastguard Worker
383*03f9172cSAndroid Build Coastguard Workercc_defaults {
384*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_driver_cflags_default",
385*03f9172cSAndroid Build Coastguard Worker    cflags: [
386*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_DRIVER_NL80211",
387*03f9172cSAndroid Build Coastguard Worker    ] + select(soong_config_variable("wpa_supplicant_8", "board_wlan_device"), {
388*03f9172cSAndroid Build Coastguard Worker        "bcmdhd": ["-DCONFIG_DRIVER_NL80211_BRCM"],
389*03f9172cSAndroid Build Coastguard Worker        "synadhd": ["-DCONFIG_DRIVER_NL80211_SYNA"],
390*03f9172cSAndroid Build Coastguard Worker        default: ["-DCONFIG_DRIVER_NL80211_QCA"],
391*03f9172cSAndroid Build Coastguard Worker    }),
392*03f9172cSAndroid Build Coastguard Worker}
393*03f9172cSAndroid Build Coastguard Worker
394*03f9172cSAndroid Build Coastguard Workersoong_config_module_type {
395*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cc_defaults_type",
396*03f9172cSAndroid Build Coastguard Worker    module_type: "cc_defaults",
397*03f9172cSAndroid Build Coastguard Worker    config_namespace: "wpa_supplicant_8",
398*03f9172cSAndroid Build Coastguard Worker    value_variables: [
399*03f9172cSAndroid Build Coastguard Worker        "platform_version",
400*03f9172cSAndroid Build Coastguard Worker    ],
401*03f9172cSAndroid Build Coastguard Worker    properties: ["cflags"],
402*03f9172cSAndroid Build Coastguard Worker}
403*03f9172cSAndroid Build Coastguard Worker
404*03f9172cSAndroid Build Coastguard Worker// Hostap related module share the same CFLAGS
405*03f9172cSAndroid Build Coastguard Workerhostapd_cc_defaults_type {
406*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cflags_default",
407*03f9172cSAndroid Build Coastguard Worker    cflags: [
408*03f9172cSAndroid Build Coastguard Worker        "-DWPA_IGNORE_CONFIG_ERRORS",
409*03f9172cSAndroid Build Coastguard Worker        "-DANDROID_LOG_NAME=\"hostapd\"",
410*03f9172cSAndroid Build Coastguard Worker        "-Wall",
411*03f9172cSAndroid Build Coastguard Worker        "-Werror",
412*03f9172cSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
413*03f9172cSAndroid Build Coastguard Worker        "-Wno-unused-variable",
414*03f9172cSAndroid Build Coastguard Worker        "-Wno-macro-redefined",
415*03f9172cSAndroid Build Coastguard Worker        "-DANDROID_P2P",
416*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_CLIENT_DIR=\"/data/vendor/wifi/hostapd/sockets\"",
417*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_DIR=\"/data/vendor/wifi/hostapd/ctrl\"",
418*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_HOSTAPD_CLI_HISTORY_DIR=\"/data/vendor/wifi/hostapd\"",
419*03f9172cSAndroid Build Coastguard Worker        "-DHOSTAPD",
420*03f9172cSAndroid Build Coastguard Worker        "-DHOSTAPD_DUMP_STATE",
421*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_RADIUS",
422*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_ACCOUNTING",
423*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE",
424*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_UNIX",
425*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SAE",
426*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IEEE80211AC",
427*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WEP",
428*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_WPS",
429*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_WSC",
430*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_DPP",
431*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER_IDENTITY",
432*03f9172cSAndroid Build Coastguard Worker        "-DEAP_SERVER",
433*03f9172cSAndroid Build Coastguard Worker        "-DPKCS12_FUNCS",
434*03f9172cSAndroid Build Coastguard Worker        "-DCRYPTO_RSA_OAEP_SHA256",
435*03f9172cSAndroid Build Coastguard Worker        "-DTLS_DEFAULT_CIPHERS=\"DEFAULT:!EXP:!LOW\"",
436*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA256",
437*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA384",
438*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_SHA512",
439*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ECC",
440*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_NO_RANDOM_POOL",
441*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_IPV6",
442*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_JSON",
443*03f9172cSAndroid Build Coastguard Worker        "-DNEED_AP_MLME",
444*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_INTERWORKING",
445*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ACS",
446*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_ANDROID_LOG",
447*03f9172cSAndroid Build Coastguard Worker        "-DCONFIG_CTRL_IFACE_AIDL",
448*03f9172cSAndroid Build Coastguard Worker    ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_use_stub_lib"), {
449*03f9172cSAndroid Build Coastguard Worker        true: ["-DANDROID_LIB_STUB"],
450*03f9172cSAndroid Build Coastguard Worker        default: [],
451*03f9172cSAndroid Build Coastguard Worker    }) + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
452*03f9172cSAndroid Build Coastguard Worker        true: ["-DCONFIG_IEEE80211AX"],
453*03f9172cSAndroid Build Coastguard Worker        default: [],
454*03f9172cSAndroid Build Coastguard Worker    }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_config_80211w_mfp_optional"), {
455*03f9172cSAndroid Build Coastguard Worker        true: ["-DENABLE_HOSTAPD_CONFIG_80211W_MFP_OPTIONAL"],
456*03f9172cSAndroid Build Coastguard Worker        default: [],
457*03f9172cSAndroid Build Coastguard Worker    }) + select(soong_config_variable("wpa_supplicant_8", "board_hostapd_private_lib_event"), {
458*03f9172cSAndroid Build Coastguard Worker        true: ["-DANDROID_LIB_EVENT"],
459*03f9172cSAndroid Build Coastguard Worker        default: [],
460*03f9172cSAndroid Build Coastguard Worker    }),
461*03f9172cSAndroid Build Coastguard Worker    arch: {
462*03f9172cSAndroid Build Coastguard Worker        arm: {
463*03f9172cSAndroid Build Coastguard Worker            cflags: [
464*03f9172cSAndroid Build Coastguard Worker                "-mabi=aapcs-linux",
465*03f9172cSAndroid Build Coastguard Worker            ],
466*03f9172cSAndroid Build Coastguard Worker        },
467*03f9172cSAndroid Build Coastguard Worker    },
468*03f9172cSAndroid Build Coastguard Worker    defaults: [
469*03f9172cSAndroid Build Coastguard Worker        "hostapd_driver_cflags_default",
470*03f9172cSAndroid Build Coastguard Worker    ],
471*03f9172cSAndroid Build Coastguard Worker    soong_config_variables: {
472*03f9172cSAndroid Build Coastguard Worker        platform_version: {
473*03f9172cSAndroid Build Coastguard Worker            cflags: ["-DVERSION_STR_POSTFIX=\"-%s\""],
474*03f9172cSAndroid Build Coastguard Worker        },
475*03f9172cSAndroid Build Coastguard Worker    },
476*03f9172cSAndroid Build Coastguard Worker    enabled: select(soong_config_variable("wpa_supplicant_8", "wpa_build_hostapd"), {
477*03f9172cSAndroid Build Coastguard Worker        true: true,
478*03f9172cSAndroid Build Coastguard Worker        default: false,
479*03f9172cSAndroid Build Coastguard Worker    }),
480*03f9172cSAndroid Build Coastguard Worker}
481*03f9172cSAndroid Build Coastguard Worker
482*03f9172cSAndroid Build Coastguard Workercc_defaults {
483*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_includes_default",
484*03f9172cSAndroid Build Coastguard Worker    local_include_dirs: [
485*03f9172cSAndroid Build Coastguard Worker        ".",
486*03f9172cSAndroid Build Coastguard Worker        "src",
487*03f9172cSAndroid Build Coastguard Worker        "src/utils",
488*03f9172cSAndroid Build Coastguard Worker    ],
489*03f9172cSAndroid Build Coastguard Worker    include_dirs: [
490*03f9172cSAndroid Build Coastguard Worker        // There's an if condition for external/libnl but current code base should always have this.
491*03f9172cSAndroid Build Coastguard Worker        "external/libnl/include",
492*03f9172cSAndroid Build Coastguard Worker        "system/security/keystore/include",
493*03f9172cSAndroid Build Coastguard Worker    ],
494*03f9172cSAndroid Build Coastguard Worker}
495*03f9172cSAndroid Build Coastguard Worker
496*03f9172cSAndroid Build Coastguard Workercc_defaults {
497*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_srcs_default",
498*03f9172cSAndroid Build Coastguard Worker    srcs: [
499*03f9172cSAndroid Build Coastguard Worker        "main.c",
500*03f9172cSAndroid Build Coastguard Worker        "config_file.c",
501*03f9172cSAndroid Build Coastguard Worker        "src/ap/hostapd.c",
502*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth_glue.c",
503*03f9172cSAndroid Build Coastguard Worker        "src/ap/drv_callbacks.c",
504*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_drv_ops.c",
505*03f9172cSAndroid Build Coastguard Worker        "src/ap/utils.c",
506*03f9172cSAndroid Build Coastguard Worker        "src/ap/authsrv.c",
507*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_1x.c",
508*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_config.c",
509*03f9172cSAndroid Build Coastguard Worker        "src/ap/eap_user_db.c",
510*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_auth.c",
511*03f9172cSAndroid Build Coastguard Worker        "src/ap/sta_info.c",
512*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth.c",
513*03f9172cSAndroid Build Coastguard Worker        "src/ap/tkip_countermeasures.c",
514*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_mlme.c",
515*03f9172cSAndroid Build Coastguard Worker        "src/ap/wpa_auth_ie.c",
516*03f9172cSAndroid Build Coastguard Worker        "src/ap/preauth_auth.c",
517*03f9172cSAndroid Build Coastguard Worker        "src/ap/pmksa_cache_auth.c",
518*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_shared.c",
519*03f9172cSAndroid Build Coastguard Worker        "src/ap/beacon.c",
520*03f9172cSAndroid Build Coastguard Worker        "src/ap/bss_load.c",
521*03f9172cSAndroid Build Coastguard Worker        "src/ap/neighbor_db.c",
522*03f9172cSAndroid Build Coastguard Worker        "src/ap/rrm.c",
523*03f9172cSAndroid Build Coastguard Worker        "src/drivers/drivers.c",
524*03f9172cSAndroid Build Coastguard Worker        "src/utils/eloop.c",
525*03f9172cSAndroid Build Coastguard Worker        "src/utils/common.c",
526*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpa_debug.c",
527*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpabuf.c",
528*03f9172cSAndroid Build Coastguard Worker        "src/utils/os_unix.c",
529*03f9172cSAndroid Build Coastguard Worker        "src/utils/ip_addr.c",
530*03f9172cSAndroid Build Coastguard Worker        "src/utils/crc32.c",
531*03f9172cSAndroid Build Coastguard Worker        "src/common/ieee802_11_common.c",
532*03f9172cSAndroid Build Coastguard Worker        "src/common/wpa_common.c",
533*03f9172cSAndroid Build Coastguard Worker        "src/common/hw_features_common.c",
534*03f9172cSAndroid Build Coastguard Worker        "src/common/ptksa_cache.c",
535*03f9172cSAndroid Build Coastguard Worker        "src/eapol_auth/eapol_auth_sm.c",
536*03f9172cSAndroid Build Coastguard Worker        "src/eapol_auth/eapol_auth_dump.c",
537*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan_init.c",
538*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan_ifconfig.c",
539*03f9172cSAndroid Build Coastguard Worker        "src/ap/vlan.c",
540*03f9172cSAndroid Build Coastguard Worker        "src/common/ctrl_iface_common.c",
541*03f9172cSAndroid Build Coastguard Worker        "ctrl_iface.c",
542*03f9172cSAndroid Build Coastguard Worker        "src/ap/ctrl_iface_ap.c",
543*03f9172cSAndroid Build Coastguard Worker        "src/common/sae.c",
544*03f9172cSAndroid Build Coastguard Worker        "src/l2_packet/l2_packet_none.c",
545*03f9172cSAndroid Build Coastguard Worker        "src/utils/uuid.c",
546*03f9172cSAndroid Build Coastguard Worker        "src/ap/wps_hostapd.c",
547*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_wsc.c",
548*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_wsc_common.c",
549*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps.c",
550*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_common.c",
551*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_parse.c",
552*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_build.c",
553*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_attr_process.c",
554*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_dev_attr.c",
555*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_enrollee.c",
556*03f9172cSAndroid Build Coastguard Worker        "src/wps/wps_registrar.c",
557*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp.c",
558*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_auth.c",
559*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_backup.c",
560*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_crypto.c",
561*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_pkex.c",
562*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_reconfig.c",
563*03f9172cSAndroid Build Coastguard Worker        "src/common/dpp_tcp.c",
564*03f9172cSAndroid Build Coastguard Worker        "src/ap/dpp_hostapd.c",
565*03f9172cSAndroid Build Coastguard Worker        "src/ap/gas_query_ap.c",
566*03f9172cSAndroid Build Coastguard Worker        "eap_register.c",
567*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server.c",
568*03f9172cSAndroid Build Coastguard Worker        "src/eap_common/eap_common.c",
569*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_methods.c",
570*03f9172cSAndroid Build Coastguard Worker        "src/eap_server/eap_server_identity.c",
571*03f9172cSAndroid Build Coastguard Worker        "src/common/dragonfly.c",
572*03f9172cSAndroid Build Coastguard Worker        "src/crypto/crypto_openssl.c",
573*03f9172cSAndroid Build Coastguard Worker        "src/crypto/tls_none.c",
574*03f9172cSAndroid Build Coastguard Worker        "src/crypto/aes-siv.c",
575*03f9172cSAndroid Build Coastguard Worker        "src/crypto/aes-ctr.c",
576*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha1-prf.c",
577*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-prf.c",
578*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-tlsprf.c",
579*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha256-kdf.c",
580*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha384-kdf.c",
581*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha512-kdf.c",
582*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha384-prf.c",
583*03f9172cSAndroid Build Coastguard Worker        "src/crypto/sha512-prf.c",
584*03f9172cSAndroid Build Coastguard Worker        "src/tls/asn1.c",
585*03f9172cSAndroid Build Coastguard Worker        "src/crypto/dh_groups.c",
586*03f9172cSAndroid Build Coastguard Worker        "src/utils/base64.c",
587*03f9172cSAndroid Build Coastguard Worker        "src/utils/json.c",
588*03f9172cSAndroid Build Coastguard Worker        "src/ap/wmm.c",
589*03f9172cSAndroid Build Coastguard Worker        "src/ap/ap_list.c",
590*03f9172cSAndroid Build Coastguard Worker        "src/ap/comeback_token.c",
591*03f9172cSAndroid Build Coastguard Worker        "src/pasn/pasn_common.c",
592*03f9172cSAndroid Build Coastguard Worker        "src/pasn/pasn_responder.c",
593*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11.c",
594*03f9172cSAndroid Build Coastguard Worker        "src/ap/hw_features.c",
595*03f9172cSAndroid Build Coastguard Worker        "src/ap/dfs.c",
596*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_ht.c",
597*03f9172cSAndroid Build Coastguard Worker        "src/ap/ieee802_11_vht.c",
598*03f9172cSAndroid Build Coastguard Worker        "src/common/gas.c",
599*03f9172cSAndroid Build Coastguard Worker        "src/ap/gas_serv.c",
600*03f9172cSAndroid Build Coastguard Worker        "src/drivers/driver_common.c",
601*03f9172cSAndroid Build Coastguard Worker        "src/ap/acs.c",
602*03f9172cSAndroid Build Coastguard Worker    ] + select(soong_config_variable("wpa_supplicant_8", "hostapd_11ax"), {
603*03f9172cSAndroid Build Coastguard Worker        true: ["src/ap/ieee802_11_he.c"],
604*03f9172cSAndroid Build Coastguard Worker        default: [],
605*03f9172cSAndroid Build Coastguard Worker    }),
606*03f9172cSAndroid Build Coastguard Worker    defaults: [
607*03f9172cSAndroid Build Coastguard Worker        "hostapd_driver_srcs_default",
608*03f9172cSAndroid Build Coastguard Worker    ],
609*03f9172cSAndroid Build Coastguard Worker}
610*03f9172cSAndroid Build Coastguard Worker
611*03f9172cSAndroid Build Coastguard Workercc_binary {
612*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cli",
613*03f9172cSAndroid Build Coastguard Worker    proprietary: true,
614*03f9172cSAndroid Build Coastguard Worker    srcs: [
615*03f9172cSAndroid Build Coastguard Worker        "hostapd_cli.c",
616*03f9172cSAndroid Build Coastguard Worker        "src/common/cli.c",
617*03f9172cSAndroid Build Coastguard Worker        "src/common/wpa_ctrl.c",
618*03f9172cSAndroid Build Coastguard Worker        "src/utils/common.c",
619*03f9172cSAndroid Build Coastguard Worker        "src/utils/edit.c",
620*03f9172cSAndroid Build Coastguard Worker        "src/utils/eloop.c",
621*03f9172cSAndroid Build Coastguard Worker        "src/utils/os_unix.c",
622*03f9172cSAndroid Build Coastguard Worker        "src/utils/wpa_debug.c",
623*03f9172cSAndroid Build Coastguard Worker    ],
624*03f9172cSAndroid Build Coastguard Worker    shared_libs: [
625*03f9172cSAndroid Build Coastguard Worker        "libc",
626*03f9172cSAndroid Build Coastguard Worker        "libcutils",
627*03f9172cSAndroid Build Coastguard Worker        "liblog",
628*03f9172cSAndroid Build Coastguard Worker    ],
629*03f9172cSAndroid Build Coastguard Worker    defaults: [
630*03f9172cSAndroid Build Coastguard Worker        "hostapd_cflags_default",
631*03f9172cSAndroid Build Coastguard Worker        "hostapd_includes_default",
632*03f9172cSAndroid Build Coastguard Worker    ],
633*03f9172cSAndroid Build Coastguard Worker}
634*03f9172cSAndroid Build Coastguard Worker
635*03f9172cSAndroid Build Coastguard Workersoong_config_module_type {
636*03f9172cSAndroid Build Coastguard Worker    name: "hostapd_cc_binary",
637*03f9172cSAndroid Build Coastguard Worker    module_type: "cc_binary",
638*03f9172cSAndroid Build Coastguard Worker    config_namespace: "wpa_supplicant_8",
639*03f9172cSAndroid Build Coastguard Worker    value_variables: [
640*03f9172cSAndroid Build Coastguard Worker        "board_hostapd_private_lib",
641*03f9172cSAndroid Build Coastguard Worker    ],
642*03f9172cSAndroid Build Coastguard Worker    properties: ["static_libs"],
643*03f9172cSAndroid Build Coastguard Worker}
644*03f9172cSAndroid Build Coastguard Worker
645*03f9172cSAndroid Build Coastguard Workerhostapd_cc_binary {
646*03f9172cSAndroid Build Coastguard Worker    name: "hostapd",
647*03f9172cSAndroid Build Coastguard Worker    proprietary: true,
648*03f9172cSAndroid Build Coastguard Worker    relative_install_path: "hw",
649*03f9172cSAndroid Build Coastguard Worker    //vintf_fragments: ["android.hardware.wifi.hostapd.xml"],
650*03f9172cSAndroid Build Coastguard Worker    required: [
651*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.hostapd.xml",
652*03f9172cSAndroid Build Coastguard Worker    ],
653*03f9172cSAndroid Build Coastguard Worker    static_libs: [
654*03f9172cSAndroid Build Coastguard Worker        "libhostapd_aidl",
655*03f9172cSAndroid Build Coastguard Worker    ],
656*03f9172cSAndroid Build Coastguard Worker    shared_libs: [
657*03f9172cSAndroid Build Coastguard Worker        "libc",
658*03f9172cSAndroid Build Coastguard Worker        "libcutils",
659*03f9172cSAndroid Build Coastguard Worker        "liblog",
660*03f9172cSAndroid Build Coastguard Worker        "libcrypto",
661*03f9172cSAndroid Build Coastguard Worker        "libssl",
662*03f9172cSAndroid Build Coastguard Worker        "libnl",
663*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.hostapd-V3-ndk",
664*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.common-V2-ndk",
665*03f9172cSAndroid Build Coastguard Worker        "libbase",
666*03f9172cSAndroid Build Coastguard Worker        "libutils",
667*03f9172cSAndroid Build Coastguard Worker        "libbinder_ndk",
668*03f9172cSAndroid Build Coastguard Worker    ],
669*03f9172cSAndroid Build Coastguard Worker    init_rc: ["hostapd.android.rc"],
670*03f9172cSAndroid Build Coastguard Worker    defaults: [
671*03f9172cSAndroid Build Coastguard Worker        "hostapd_srcs_default",
672*03f9172cSAndroid Build Coastguard Worker        "hostapd_cflags_default",
673*03f9172cSAndroid Build Coastguard Worker        "hostapd_includes_default",
674*03f9172cSAndroid Build Coastguard Worker    ],
675*03f9172cSAndroid Build Coastguard Worker    soong_config_variables: {
676*03f9172cSAndroid Build Coastguard Worker        board_hostapd_private_lib: {
677*03f9172cSAndroid Build Coastguard Worker            static_libs: ["%s"],
678*03f9172cSAndroid Build Coastguard Worker        },
679*03f9172cSAndroid Build Coastguard Worker    },
680*03f9172cSAndroid Build Coastguard Worker}
681*03f9172cSAndroid Build Coastguard Worker
682*03f9172cSAndroid Build Coastguard Workercc_library_static {
683*03f9172cSAndroid Build Coastguard Worker    name: "libhostapd_aidl",
684*03f9172cSAndroid Build Coastguard Worker    soc_specific: true,
685*03f9172cSAndroid Build Coastguard Worker    srcs: [
686*03f9172cSAndroid Build Coastguard Worker        "aidl/aidl.cpp",
687*03f9172cSAndroid Build Coastguard Worker        "aidl/hostapd.cpp",
688*03f9172cSAndroid Build Coastguard Worker    ],
689*03f9172cSAndroid Build Coastguard Worker    shared_libs: [
690*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.hostapd-V3-ndk",
691*03f9172cSAndroid Build Coastguard Worker        "android.hardware.wifi.common-V2-ndk",
692*03f9172cSAndroid Build Coastguard Worker        "libbinder_ndk",
693*03f9172cSAndroid Build Coastguard Worker        "libbase",
694*03f9172cSAndroid Build Coastguard Worker        "libutils",
695*03f9172cSAndroid Build Coastguard Worker        "liblog",
696*03f9172cSAndroid Build Coastguard Worker    ],
697*03f9172cSAndroid Build Coastguard Worker    export_include_dirs: ["aidl"],
698*03f9172cSAndroid Build Coastguard Worker    cppflags: [
699*03f9172cSAndroid Build Coastguard Worker        "-Wall",
700*03f9172cSAndroid Build Coastguard Worker        "-Werror",
701*03f9172cSAndroid Build Coastguard Worker    ],
702*03f9172cSAndroid Build Coastguard Worker    defaults: [
703*03f9172cSAndroid Build Coastguard Worker        "hostapd_cflags_default",
704*03f9172cSAndroid Build Coastguard Worker        "hostapd_includes_default",
705*03f9172cSAndroid Build Coastguard Worker    ],
706*03f9172cSAndroid Build Coastguard Worker}
707