blob: c2e8541de65fb66ceeb284cf63cfa7e9f7bc0074 [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",
Les Lee5ea0e252024-09-06 22:58:52 +0000109 "android.hardware.wifi-V3-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000110 ],
111
112 export_include_dirs: ["."],
113}
114
Kiyoung Kim4a518d22024-09-03 13:44:23 +0900115vintf_fragment {
116 name: "android.hardware.wifi-service.xml",
117 src: "android.hardware.wifi-service.xml",
118 vendor: true,
119}
120
Gabriel Birenf3262f92022-07-15 23:25:39 +0000121cc_binary {
122 name: "android.hardware.wifi-service",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000123 relative_install_path: "hw",
124 proprietary: true,
125 cppflags: [
126 "-Wall",
127 "-Werror",
128 "-Wextra",
129 ],
130 srcs: ["service.cpp"],
131 shared_libs: [
132 "libbase",
133 "libbinder_ndk",
134 "libcutils",
135 "liblog",
136 "libnl",
137 "libutils",
138 "libwifi-hal",
139 "libwifi-system-iface",
140 "libxml2",
Les Lee5ea0e252024-09-06 22:58:52 +0000141 "android.hardware.wifi-V3-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000142 ],
143 static_libs: ["android.hardware.wifi-service-lib"],
144 init_rc: ["android.hardware.wifi-service.rc"],
Kiyoung Kim4a518d22024-09-03 13:44:23 +0900145 vintf_fragment_modules: ["android.hardware.wifi-service.xml"],
Gabriel Birenf3262f92022-07-15 23:25:39 +0000146}
147
148cc_binary {
149 name: "android.hardware.wifi-service-lazy",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000150 overrides: ["android.hardware.wifi-service"],
151 cflags: ["-DLAZY_SERVICE"],
152 relative_install_path: "hw",
153 proprietary: true,
154 cppflags: [
155 "-Wall",
156 "-Werror",
157 "-Wextra",
158 ],
159 srcs: ["service.cpp"],
160 shared_libs: [
161 "libbase",
162 "libbinder_ndk",
163 "libcutils",
164 "liblog",
165 "libnl",
166 "libutils",
167 "libwifi-hal",
168 "libwifi-system-iface",
169 "libxml2",
Les Lee5ea0e252024-09-06 22:58:52 +0000170 "android.hardware.wifi-V3-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000171 ],
172 static_libs: ["android.hardware.wifi-service-lib"],
173 init_rc: ["android.hardware.wifi-service-lazy.rc"],
Kiyoung Kim4a518d22024-09-03 13:44:23 +0900174 vintf_fragment_modules: ["android.hardware.wifi-service.xml"],
Gabriel Birenf3262f92022-07-15 23:25:39 +0000175}
176
177cc_test {
178 name: "android.hardware.wifi-service-tests",
179 proprietary: true,
180 compile_multilib: "first",
181 cppflags: [
182 "-Wall",
183 "-Werror",
184 "-Wextra",
185 ],
186 srcs: [
187 "tests/aidl_struct_util_unit_tests.cpp",
188 "tests/main.cpp",
189 "tests/mock_interface_tool.cpp",
190 "tests/mock_wifi_feature_flags.cpp",
191 "tests/mock_wifi_iface_util.cpp",
192 "tests/mock_wifi_legacy_hal.cpp",
193 "tests/mock_wifi_mode_controller.cpp",
194 "tests/ringbuffer_unit_tests.cpp",
195 "tests/wifi_nan_iface_unit_tests.cpp",
196 "tests/wifi_chip_unit_tests.cpp",
197 "tests/wifi_iface_util_unit_tests.cpp",
198 ],
199 static_libs: [
200 "libgmock",
201 "libgtest",
Les Lee5ea0e252024-09-06 22:58:52 +0000202 "android.hardware.wifi-V3-ndk",
Chris Weirf877a292024-09-03 15:28:47 -0700203 "android.hardware.wifi.common-V2-ndk",
Gabriel Birenf3262f92022-07-15 23:25:39 +0000204 "android.hardware.wifi-service-lib",
205 ],
206 shared_libs: [
207 "libbase",
208 "libbinder_ndk",
209 "libcutils",
210 "liblog",
211 "libnl",
212 "libutils",
213 "libwifi-hal",
214 "libwifi-system-iface",
215 ],
216}
217
218filegroup {
219 name: "default-android.hardware.wifi-service.rc",
220 srcs: ["android.hardware.wifi-service.rc"],
221}
222
223filegroup {
224 name: "default-android.hardware.wifi-service.xml",
225 srcs: ["android.hardware.wifi-service.xml"],
226}
chao.mengc0e563b2024-07-22 13:40:54 +0800227
228filegroup {
229 name: "default-android.hardware.wifi-service-lazy.rc",
230 srcs: ["android.hardware.wifi-service-lazy.rc"],
231}