blob: 0ac6412544a694e0679bdc93234f84200f5467f1 [file] [log] [blame]
Sundong Ahn80af4e42021-12-02 01:01:49 +00001// 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: ["hardware_interfaces_license"],
17}
18
Jooyung Hanc4ac3352022-07-22 17:39:41 +090019soong_config_module_type {
20 name: "wifi_hal_cc_defaults",
21 module_type: "cc_defaults",
22 config_namespace: "wifi",
23 bool_variables: [
24 "hidl_feature_aware", // WIFI_HIDL_FEATURE_AWARE
25 "hidl_feature_dual_interface", // WIFI_HIDL_FEATURE_DUAL_INTERFACE
26 "hidl_feature_disable_ap", // WIFI_HIDL_FEATURE_DISABLE_AP
27 "hidl_feature_disable_ap_mac_randomization", // WIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION
28 "avoid_iface_reset_mac_change", // WIFI_AVOID_IFACE_RESET_MAC_CHANGE
29 ],
30 value_variables: [
31 "hal_interface_combinations", // WIFI_HAL_INTERFACE_COMBINATIONS
32 ],
33 properties: [
34 "cppflags",
35 ],
Sundong Ahn80af4e42021-12-02 01:01:49 +000036}
37
Jooyung Hanc4ac3352022-07-22 17:39:41 +090038wifi_hal_cc_defaults {
39 name: "android.hardware.wifi@1.0-service-cppflags-defaults",
40 soong_config_variables: {
41 hidl_feature_aware: {
42 cppflags: ["-DWIFI_HIDL_FEATURE_AWARE"],
43 },
44 hidl_feature_dual_interface: {
45 cppflags: ["-DWIFI_HIDL_FEATURE_DUAL_INTERFACE"],
46 },
47 hidl_feature_disable_ap: {
48 cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP"],
49 },
50 hidl_feature_disable_ap_mac_randomization: {
51 cppflags: ["-DWIFI_HIDL_FEATURE_DISABLE_AP_MAC_RANDOMIZATION"],
52 },
53 avoid_iface_reset_mac_change: {
54 cppflags: ["-DWIFI_AVOID_IFACE_RESET_MAC_CHANGE"],
55 },
56 hal_interface_combinations: {
57 cppflags: ["-DWIFI_HAL_INTERFACE_COMBINATIONS=%s"],
58 },
59 },
60}
61
62cc_library_static {
63 name: "android.hardware.wifi@1.0-service-lib",
64 defaults: ["android.hardware.wifi@1.0-service-cppflags-defaults"],
65 proprietary: true,
Sundong Ahn80af4e42021-12-02 01:01:49 +000066 cppflags: [
67 "-Wall",
68 "-Werror",
69 "-Wextra",
70 ],
Jooyung Hanc4ac3352022-07-22 17:39:41 +090071 // Allow implicit fallthroughs in wifi_legacy_hal.cpp until they are fixed.
72 cflags: ["-Wno-error=implicit-fallthrough"],
Sundong Ahn80af4e42021-12-02 01:01:49 +000073 srcs: [
74 "hidl_struct_util.cpp",
75 "hidl_sync_util.cpp",
76 "ringbuffer.cpp",
77 "wifi.cpp",
78 "wifi_ap_iface.cpp",
79 "wifi_chip.cpp",
80 "wifi_feature_flags.cpp",
81 "wifi_iface_util.cpp",
82 "wifi_legacy_hal.cpp",
83 "wifi_legacy_hal_factory.cpp",
84 "wifi_legacy_hal_stubs.cpp",
85 "wifi_mode_controller.cpp",
86 "wifi_nan_iface.cpp",
87 "wifi_p2p_iface.cpp",
88 "wifi_rtt_controller.cpp",
89 "wifi_sta_iface.cpp",
90 "wifi_status_util.cpp",
91 ],
Sundong Ahn80af4e42021-12-02 01:01:49 +000092
Sundong Ahn80af4e42021-12-02 01:01:49 +000093 shared_libs: [
Jooyung Hanc4ac3352022-07-22 17:39:41 +090094 "libbase",
95 "libcutils",
96 "libhidlbase",
97 "liblog",
98 "libnl",
99 "libutils",
100 "libwifi-hal",
101 "libwifi-system-iface",
102 "libxml2",
Sundong Ahn80af4e42021-12-02 01:01:49 +0000103 "android.hardware.wifi@1.0",
104 "android.hardware.wifi@1.1",
105 "android.hardware.wifi@1.2",
106 "android.hardware.wifi@1.3",
107 "android.hardware.wifi@1.4",
108 "android.hardware.wifi@1.5",
Ahmed ElArabawy0cf627a2022-01-18 18:07:54 -0800109 "android.hardware.wifi@1.6",
Jooyung Hanc4ac3352022-07-22 17:39:41 +0900110 ],
111
112 export_include_dirs: ["."],
113}
114
115cc_binary {
116 name: "android.hardware.wifi@1.0-service",
117 vintf_fragments: ["android.hardware.wifi@1.0-service.xml"],
118 relative_install_path: "hw",
119 proprietary: true,
120 cppflags: [
121 "-Wall",
122 "-Werror",
123 "-Wextra",
124 ],
125 srcs: ["service.cpp"],
126 shared_libs: [
Sundong Ahn80af4e42021-12-02 01:01:49 +0000127 "libbase",
128 "libcutils",
129 "libhidlbase",
130 "liblog",
131 "libnl",
132 "libutils",
Jooyung Hanc4ac3352022-07-22 17:39:41 +0900133 "libwifi-hal",
Sundong Ahn80af4e42021-12-02 01:01:49 +0000134 "libwifi-system-iface",
135 "libxml2",
Jooyung Hanc4ac3352022-07-22 17:39:41 +0900136 "android.hardware.wifi@1.0",
137 "android.hardware.wifi@1.1",
138 "android.hardware.wifi@1.2",
139 "android.hardware.wifi@1.3",
140 "android.hardware.wifi@1.4",
141 "android.hardware.wifi@1.5",
142 "android.hardware.wifi@1.6",
Sundong Ahn80af4e42021-12-02 01:01:49 +0000143 ],
Jooyung Hanc4ac3352022-07-22 17:39:41 +0900144 static_libs: ["android.hardware.wifi@1.0-service-lib"],
145 init_rc: ["android.hardware.wifi@1.0-service.rc"],
146}
147
148cc_binary {
149 name: "android.hardware.wifi@1.0-service-lazy",
150 vintf_fragments: ["android.hardware.wifi@1.0-service.xml"],
151 overrides: ["android.hardware.wifi@1.0-service"],
152 cflags: ["-DLAZY_SERVICE"],
153 relative_install_path: "hw",
154 proprietary: true,
Sundong Ahn80af4e42021-12-02 01:01:49 +0000155 cppflags: [
156 "-Wall",
157 "-Werror",
158 "-Wextra",
Sundong Ahn80af4e42021-12-02 01:01:49 +0000159 ],
Jooyung Hanc4ac3352022-07-22 17:39:41 +0900160 srcs: ["service.cpp"],
161 shared_libs: [
162 "libbase",
163 "libcutils",
164 "libhidlbase",
165 "liblog",
166 "libnl",
167 "libutils",
168 "libwifi-hal",
169 "libwifi-system-iface",
170 "libxml2",
171 "android.hardware.wifi@1.0",
172 "android.hardware.wifi@1.1",
173 "android.hardware.wifi@1.2",
174 "android.hardware.wifi@1.3",
175 "android.hardware.wifi@1.4",
176 "android.hardware.wifi@1.5",
177 "android.hardware.wifi@1.6",
178 ],
179 static_libs: ["android.hardware.wifi@1.0-service-lib"],
180 init_rc: ["android.hardware.wifi@1.0-service-lazy.rc"],
181}
182
183cc_test {
184 name: "android.hardware.wifi@1.0-service-tests",
185 proprietary: true,
186 cppflags: [
187 "-Wall",
188 "-Werror",
189 "-Wextra",
190 ],
191 srcs: [
192 "tests/hidl_struct_util_unit_tests.cpp",
193 "tests/main.cpp",
194 "tests/mock_interface_tool.cpp",
195 "tests/mock_wifi_feature_flags.cpp",
196 "tests/mock_wifi_iface_util.cpp",
197 "tests/mock_wifi_legacy_hal.cpp",
198 "tests/mock_wifi_mode_controller.cpp",
199 "tests/ringbuffer_unit_tests.cpp",
200 "tests/wifi_nan_iface_unit_tests.cpp",
201 "tests/wifi_chip_unit_tests.cpp",
202 "tests/wifi_iface_util_unit_tests.cpp",
203 ],
204 static_libs: [
205 "libgmock",
206 "libgtest",
207 "android.hardware.wifi@1.0",
208 "android.hardware.wifi@1.1",
209 "android.hardware.wifi@1.2",
210 "android.hardware.wifi@1.3",
211 "android.hardware.wifi@1.4",
212 "android.hardware.wifi@1.5",
213 "android.hardware.wifi@1.6",
214 "android.hardware.wifi@1.0-service-lib",
215 ],
216 shared_libs: [
217 "libbase",
218 "libcutils",
219 "libhidlbase",
220 "liblog",
221 "libnl",
222 "libutils",
223 "libwifi-hal",
224 "libwifi-system-iface",
225 ],
Sundong Ahn80af4e42021-12-02 01:01:49 +0000226}