blob: 7f828df2d132bc8807aa8aedaafa8bbd4f08f5d7 [file] [log] [blame]
Gabriel Birenf3262f92022-07-15 23:25:39 +00001// Copyright (C) 2022 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 {
Aditya Choudharyad2ba1b2024-02-05 15:45:22 +000016 default_team: "trendy_team_fwk_wifi_hal",
Gabriel Birenf3262f92022-07-15 23:25:39 +000017 default_applicable_licenses: ["hardware_interfaces_license"],
18}
19
20soong_config_module_type {
21 name: "wifi_hal_cc_defaults",
22 module_type: "cc_defaults",
23 config_namespace: "wifi",
24 bool_variables: [
25 "hidl_feature_aware", // WIFI_HIDL_FEATURE_AWARE
26 "hidl_feature_dual_interface", // WIFI_HIDL_FEATURE_DUAL_INTERFACE
27 "hidl_feature_disable_ap", // WIFI_HIDL_FEATURE_DISABLE_AP
28 "hidl_feature_disable_ap_mac_randomization", // WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
29 "avoid_iface_reset_mac_change", // WIFI_AVOID_IFACE_RESET_MAC_CHANGE
Ye Jiao2dc47ca2023-03-13 10:58:08 +080030 "wifi_skip_state_toggle_off_on_for_nan", // WIFI_SKIP_STATE_TOGGLE_OFF_ON_FOR_NAN
Gabriel Birenf3262f92022-07-15 23:25:39 +000031 ],
32 value_variables: [
33 "hal_interface_combinations", // WIFI_HAL_INTERFACE_COMBINATIONS
34 ],
35 properties: [
36 "cppflags",
37 ],
38}
39
40wifi_hal_cc_defaults {
41 name: "android.hardware.wifi-service-cppflags-defaults",
42 soong_config_variables: {
43 hidl_feature_aware: {
44 cppflags: ["-DWIFI_HIDL_FEATURE_AWARE"],
45 },
46 hidl_feature_dual_interface: {
47 cppflags: ["-DWIFI_HIDL_FEATURE_DUAL_INTERFACE"],
48 },
49 hidl_feature_disable_ap: {
50 cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP"],
51 },
52 hidl_feature_disable_ap_mac_randomization: {
53 cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION"],
54 },
55 avoid_iface_reset_mac_change: {
56 cppflags: ["-DWIFI_AVOID_IFACE_RESET_MAC_CHANGE"],
57 },
Ye Jiao2dc47ca2023-03-13 10:58:08 +080058 wifi_skip_state_toggle_off_on_for_nan: {
59 cppflags: ["-DWIFI_SKIP_STATE_TOGGLE_OFF_ON_FOR_NAN"],
60 },
Gabriel Birenf3262f92022-07-15 23:25:39 +000061 hal_interface_combinations: {
62 cppflags: ["-DWIFI_HAL_INTERFACE_COMBINATIONS=%s"],
63 },
64 },
65}
66
67cc_library_static {
68 name: "android.hardware.wifi-service-lib",
69 defaults: ["android.hardware.wifi-service-cppflags-defaults"],
70 proprietary: true,
71 compile_multilib: "first",
72 cppflags: [
73 "-Wall",
74 "-Werror",
75 "-Wextra",
76 ],
77 // Allow implicit fallthroughs in wifi_legacy_hal.cpp until they are fixed.
78 cflags: ["-Wno-error=implicit-fallthrough"],
79 srcs: [
80 "aidl_struct_util.cpp",
81 "aidl_sync_util.cpp",
82 "ringbuffer.cpp",
83 "wifi.cpp",
84 "wifi_ap_iface.cpp",
85 "wifi_chip.cpp",
86 "wifi_feature_flags.cpp",
87 "wifi_iface_util.cpp",
88 "wifi_legacy_hal.cpp",
89 "wifi_legacy_hal_factory.cpp",
90 "wifi_legacy_hal_stubs.cpp",
91 "wifi_mode_controller.cpp",
92 "wifi_nan_iface.cpp",
93 "wifi_p2p_iface.cpp",
94 "wifi_rtt_controller.cpp",
95 "wifi_sta_iface.cpp",
96 "wifi_status_util.cpp",
97 ],
98
99 shared_libs: [
100 "libbase",
101 "libbinder_ndk",
102 "libcutils",
103 "liblog",
104 "libnl",
105 "libutils",
106 "libwifi-hal",
107 "libwifi-system-iface",
108 "libxml2",
Gabriel Birenaa9bd832023-11-10 00:43:08 +0000109 "android.hardware.wifi-V2-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000110 ],
111
112 export_include_dirs: ["."],
113}
114
Kiyoung Kimcf0a2dd2024-08-12 15:30:48 +0900115vintf_fragment {
116 name: "android.hardware.wifi-service.xml",
117 src: "android.hardware.wifi-service.xml",
118 vendor: true,
119 no_full_install: true,
120}
121
Gabriel Birenf3262f92022-07-15 23:25:39 +0000122cc_binary {
123 name: "android.hardware.wifi-service",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000124 relative_install_path: "hw",
125 proprietary: true,
126 cppflags: [
127 "-Wall",
128 "-Werror",
129 "-Wextra",
130 ],
131 srcs: ["service.cpp"],
132 shared_libs: [
133 "libbase",
134 "libbinder_ndk",
135 "libcutils",
136 "liblog",
137 "libnl",
138 "libutils",
139 "libwifi-hal",
140 "libwifi-system-iface",
141 "libxml2",
Gabriel Birenaa9bd832023-11-10 00:43:08 +0000142 "android.hardware.wifi-V2-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000143 ],
144 static_libs: ["android.hardware.wifi-service-lib"],
145 init_rc: ["android.hardware.wifi-service.rc"],
Kiyoung Kimcf0a2dd2024-08-12 15:30:48 +0900146 vintf_fragment_modules: ["android.hardware.wifi-service.xml"],
Gabriel Birenf3262f92022-07-15 23:25:39 +0000147}
148
149cc_binary {
150 name: "android.hardware.wifi-service-lazy",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000151 overrides: ["android.hardware.wifi-service"],
152 cflags: ["-DLAZY_SERVICE"],
153 relative_install_path: "hw",
154 proprietary: true,
155 cppflags: [
156 "-Wall",
157 "-Werror",
158 "-Wextra",
159 ],
160 srcs: ["service.cpp"],
161 shared_libs: [
162 "libbase",
163 "libbinder_ndk",
164 "libcutils",
165 "liblog",
166 "libnl",
167 "libutils",
168 "libwifi-hal",
169 "libwifi-system-iface",
170 "libxml2",
Gabriel Birenaa9bd832023-11-10 00:43:08 +0000171 "android.hardware.wifi-V2-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000172 ],
173 static_libs: ["android.hardware.wifi-service-lib"],
174 init_rc: ["android.hardware.wifi-service-lazy.rc"],
Kiyoung Kimcf0a2dd2024-08-12 15:30:48 +0900175 vintf_fragment_modules: ["android.hardware.wifi-service.xml"],
Gabriel Birenf3262f92022-07-15 23:25:39 +0000176}
177
178cc_test {
179 name: "android.hardware.wifi-service-tests",
180 proprietary: true,
181 compile_multilib: "first",
182 cppflags: [
183 "-Wall",
184 "-Werror",
185 "-Wextra",
186 ],
187 srcs: [
188 "tests/aidl_struct_util_unit_tests.cpp",
189 "tests/main.cpp",
190 "tests/mock_interface_tool.cpp",
191 "tests/mock_wifi_feature_flags.cpp",
192 "tests/mock_wifi_iface_util.cpp",
193 "tests/mock_wifi_legacy_hal.cpp",
194 "tests/mock_wifi_mode_controller.cpp",
195 "tests/ringbuffer_unit_tests.cpp",
196 "tests/wifi_nan_iface_unit_tests.cpp",
197 "tests/wifi_chip_unit_tests.cpp",
198 "tests/wifi_iface_util_unit_tests.cpp",
199 ],
200 static_libs: [
201 "libgmock",
202 "libgtest",
Gabriel Birenaa9bd832023-11-10 00:43:08 +0000203 "android.hardware.wifi-V2-ndk",
204 "android.hardware.wifi.common-V1-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000205 "android.hardware.wifi-service-lib",
206 ],
207 shared_libs: [
208 "libbase",
209 "libbinder_ndk",
210 "libcutils",
211 "liblog",
212 "libnl",
213 "libutils",
214 "libwifi-hal",
215 "libwifi-system-iface",
216 ],
217}
218
219filegroup {
220 name: "default-android.hardware.wifi-service.rc",
221 srcs: ["android.hardware.wifi-service.rc"],
222}
223
224filegroup {
225 name: "default-android.hardware.wifi-service.xml",
226 srcs: ["android.hardware.wifi-service.xml"],
227}
chao.mengc0e563b2024-07-22 13:40:54 +0800228
229filegroup {
230 name: "default-android.hardware.wifi-service-lazy.rc",
231 srcs: ["android.hardware.wifi-service-lazy.rc"],
232}