xref: /aosp_15_r20/system/core/libutils/Android.bp (revision 00c7fec1bb09f3284aad6a6f96d2f63dfc3650ad)
1*00c7fec1SAndroid Build Coastguard Workerpackage {
2*00c7fec1SAndroid Build Coastguard Worker    default_applicable_licenses: ["system_core_libutils_license"],
3*00c7fec1SAndroid Build Coastguard Worker}
4*00c7fec1SAndroid Build Coastguard Worker
5*00c7fec1SAndroid Build Coastguard Workerlicense {
6*00c7fec1SAndroid Build Coastguard Worker    name: "system_core_libutils_license",
7*00c7fec1SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
8*00c7fec1SAndroid Build Coastguard Worker    license_kinds: [
9*00c7fec1SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
10*00c7fec1SAndroid Build Coastguard Worker    ],
11*00c7fec1SAndroid Build Coastguard Worker    license_text: [
12*00c7fec1SAndroid Build Coastguard Worker        "NOTICE",
13*00c7fec1SAndroid Build Coastguard Worker    ],
14*00c7fec1SAndroid Build Coastguard Worker}
15*00c7fec1SAndroid Build Coastguard Worker
16*00c7fec1SAndroid Build Coastguard Workercc_library_headers {
17*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_headers",
18*00c7fec1SAndroid Build Coastguard Worker    vendor_available: true,
19*00c7fec1SAndroid Build Coastguard Worker    product_available: true,
20*00c7fec1SAndroid Build Coastguard Worker    recovery_available: true,
21*00c7fec1SAndroid Build Coastguard Worker    vendor_ramdisk_available: true,
22*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
23*00c7fec1SAndroid Build Coastguard Worker    native_bridge_supported: true,
24*00c7fec1SAndroid Build Coastguard Worker    defaults: [
25*00c7fec1SAndroid Build Coastguard Worker        "apex-lowest-min-sdk-version",
26*00c7fec1SAndroid Build Coastguard Worker    ],
27*00c7fec1SAndroid Build Coastguard Worker    apex_available: [
28*00c7fec1SAndroid Build Coastguard Worker        "//apex_available:platform",
29*00c7fec1SAndroid Build Coastguard Worker        "//apex_available:anyapex",
30*00c7fec1SAndroid Build Coastguard Worker    ],
31*00c7fec1SAndroid Build Coastguard Worker
32*00c7fec1SAndroid Build Coastguard Worker    header_libs: [
33*00c7fec1SAndroid Build Coastguard Worker        "libbase_headers",
34*00c7fec1SAndroid Build Coastguard Worker        "libcutils_headers",
35*00c7fec1SAndroid Build Coastguard Worker        "liblog_headers",
36*00c7fec1SAndroid Build Coastguard Worker        "libsystem_headers",
37*00c7fec1SAndroid Build Coastguard Worker    ],
38*00c7fec1SAndroid Build Coastguard Worker    export_header_lib_headers: [
39*00c7fec1SAndroid Build Coastguard Worker        "libbase_headers",
40*00c7fec1SAndroid Build Coastguard Worker        "libcutils_headers",
41*00c7fec1SAndroid Build Coastguard Worker        "liblog_headers",
42*00c7fec1SAndroid Build Coastguard Worker        "libsystem_headers",
43*00c7fec1SAndroid Build Coastguard Worker    ],
44*00c7fec1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
45*00c7fec1SAndroid Build Coastguard Worker
46*00c7fec1SAndroid Build Coastguard Worker    target: {
47*00c7fec1SAndroid Build Coastguard Worker        linux_bionic: {
48*00c7fec1SAndroid Build Coastguard Worker            enabled: true,
49*00c7fec1SAndroid Build Coastguard Worker        },
50*00c7fec1SAndroid Build Coastguard Worker        windows: {
51*00c7fec1SAndroid Build Coastguard Worker            enabled: true,
52*00c7fec1SAndroid Build Coastguard Worker        },
53*00c7fec1SAndroid Build Coastguard Worker    },
54*00c7fec1SAndroid Build Coastguard Worker}
55*00c7fec1SAndroid Build Coastguard Worker
56*00c7fec1SAndroid Build Coastguard Workercc_defaults {
57*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_defaults_nodeps",
58*00c7fec1SAndroid Build Coastguard Worker    vendor_available: true,
59*00c7fec1SAndroid Build Coastguard Worker    product_available: true,
60*00c7fec1SAndroid Build Coastguard Worker    recovery_available: true,
61*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
62*00c7fec1SAndroid Build Coastguard Worker
63*00c7fec1SAndroid Build Coastguard Worker    cflags: [
64*00c7fec1SAndroid Build Coastguard Worker        "-Wall",
65*00c7fec1SAndroid Build Coastguard Worker        "-Werror",
66*00c7fec1SAndroid Build Coastguard Worker        "-Wno-exit-time-destructors",
67*00c7fec1SAndroid Build Coastguard Worker        "-DANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION",
68*00c7fec1SAndroid Build Coastguard Worker    ],
69*00c7fec1SAndroid Build Coastguard Worker
70*00c7fec1SAndroid Build Coastguard Worker    sanitize: {
71*00c7fec1SAndroid Build Coastguard Worker        misc_undefined: ["integer"],
72*00c7fec1SAndroid Build Coastguard Worker    },
73*00c7fec1SAndroid Build Coastguard Worker
74*00c7fec1SAndroid Build Coastguard Worker    target: {
75*00c7fec1SAndroid Build Coastguard Worker        android: {
76*00c7fec1SAndroid Build Coastguard Worker            cflags: ["-fvisibility=protected"],
77*00c7fec1SAndroid Build Coastguard Worker
78*00c7fec1SAndroid Build Coastguard Worker            shared_libs: [
79*00c7fec1SAndroid Build Coastguard Worker                "libvndksupport",
80*00c7fec1SAndroid Build Coastguard Worker            ],
81*00c7fec1SAndroid Build Coastguard Worker
82*00c7fec1SAndroid Build Coastguard Worker            sanitize: {
83*00c7fec1SAndroid Build Coastguard Worker                misc_undefined: ["integer"],
84*00c7fec1SAndroid Build Coastguard Worker            },
85*00c7fec1SAndroid Build Coastguard Worker        },
86*00c7fec1SAndroid Build Coastguard Worker
87*00c7fec1SAndroid Build Coastguard Worker        recovery: {
88*00c7fec1SAndroid Build Coastguard Worker            exclude_shared_libs: ["libvndksupport"],
89*00c7fec1SAndroid Build Coastguard Worker        },
90*00c7fec1SAndroid Build Coastguard Worker
91*00c7fec1SAndroid Build Coastguard Worker        linux_bionic: {
92*00c7fec1SAndroid Build Coastguard Worker            enabled: true,
93*00c7fec1SAndroid Build Coastguard Worker        },
94*00c7fec1SAndroid Build Coastguard Worker
95*00c7fec1SAndroid Build Coastguard Worker        darwin: {
96*00c7fec1SAndroid Build Coastguard Worker            cflags: ["-Wno-unused-parameter"],
97*00c7fec1SAndroid Build Coastguard Worker        },
98*00c7fec1SAndroid Build Coastguard Worker
99*00c7fec1SAndroid Build Coastguard Worker        windows: {
100*00c7fec1SAndroid Build Coastguard Worker            cflags: [
101*00c7fec1SAndroid Build Coastguard Worker                // Under MinGW, ctype.h doesn't need multi-byte support
102*00c7fec1SAndroid Build Coastguard Worker                "-DMB_CUR_MAX=1",
103*00c7fec1SAndroid Build Coastguard Worker                "-Wno-unused-private-field",
104*00c7fec1SAndroid Build Coastguard Worker            ],
105*00c7fec1SAndroid Build Coastguard Worker
106*00c7fec1SAndroid Build Coastguard Worker            enabled: true,
107*00c7fec1SAndroid Build Coastguard Worker        },
108*00c7fec1SAndroid Build Coastguard Worker    },
109*00c7fec1SAndroid Build Coastguard Worker    fuzz_config: {
110*00c7fec1SAndroid Build Coastguard Worker        cc: ["[email protected]"],
111*00c7fec1SAndroid Build Coastguard Worker    },
112*00c7fec1SAndroid Build Coastguard Worker}
113*00c7fec1SAndroid Build Coastguard Worker
114*00c7fec1SAndroid Build Coastguard Workercc_defaults {
115*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_defaults",
116*00c7fec1SAndroid Build Coastguard Worker    defaults: [
117*00c7fec1SAndroid Build Coastguard Worker        "libutils_defaults_nodeps",
118*00c7fec1SAndroid Build Coastguard Worker    ],
119*00c7fec1SAndroid Build Coastguard Worker
120*00c7fec1SAndroid Build Coastguard Worker    shared_libs: [
121*00c7fec1SAndroid Build Coastguard Worker        "libcutils",
122*00c7fec1SAndroid Build Coastguard Worker        "liblog",
123*00c7fec1SAndroid Build Coastguard Worker    ],
124*00c7fec1SAndroid Build Coastguard Worker}
125*00c7fec1SAndroid Build Coastguard Worker
126*00c7fec1SAndroid Build Coastguard Workercc_defaults {
127*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_impl_defaults",
128*00c7fec1SAndroid Build Coastguard Worker    defaults: [
129*00c7fec1SAndroid Build Coastguard Worker        "libutils_defaults",
130*00c7fec1SAndroid Build Coastguard Worker        "apex-lowest-min-sdk-version",
131*00c7fec1SAndroid Build Coastguard Worker    ],
132*00c7fec1SAndroid Build Coastguard Worker    native_bridge_supported: true,
133*00c7fec1SAndroid Build Coastguard Worker
134*00c7fec1SAndroid Build Coastguard Worker    whole_static_libs: ["libutils_binder"],
135*00c7fec1SAndroid Build Coastguard Worker
136*00c7fec1SAndroid Build Coastguard Worker    header_libs: [
137*00c7fec1SAndroid Build Coastguard Worker        "libbase_headers",
138*00c7fec1SAndroid Build Coastguard Worker        "libutils_headers",
139*00c7fec1SAndroid Build Coastguard Worker    ],
140*00c7fec1SAndroid Build Coastguard Worker    export_header_lib_headers: [
141*00c7fec1SAndroid Build Coastguard Worker        "libutils_headers",
142*00c7fec1SAndroid Build Coastguard Worker    ],
143*00c7fec1SAndroid Build Coastguard Worker
144*00c7fec1SAndroid Build Coastguard Worker    srcs: [
145*00c7fec1SAndroid Build Coastguard Worker        "FileMap.cpp",
146*00c7fec1SAndroid Build Coastguard Worker        "JenkinsHash.cpp",
147*00c7fec1SAndroid Build Coastguard Worker        "LightRefBase.cpp",
148*00c7fec1SAndroid Build Coastguard Worker        "NativeHandle.cpp",
149*00c7fec1SAndroid Build Coastguard Worker        "Printer.cpp",
150*00c7fec1SAndroid Build Coastguard Worker        "StopWatch.cpp",
151*00c7fec1SAndroid Build Coastguard Worker        "SystemClock.cpp",
152*00c7fec1SAndroid Build Coastguard Worker        "Threads.cpp",
153*00c7fec1SAndroid Build Coastguard Worker        "Timers.cpp",
154*00c7fec1SAndroid Build Coastguard Worker        "Tokenizer.cpp",
155*00c7fec1SAndroid Build Coastguard Worker        "misc.cpp",
156*00c7fec1SAndroid Build Coastguard Worker    ],
157*00c7fec1SAndroid Build Coastguard Worker
158*00c7fec1SAndroid Build Coastguard Worker    target: {
159*00c7fec1SAndroid Build Coastguard Worker        android: {
160*00c7fec1SAndroid Build Coastguard Worker            srcs: [
161*00c7fec1SAndroid Build Coastguard Worker                "Trace.cpp",
162*00c7fec1SAndroid Build Coastguard Worker            ],
163*00c7fec1SAndroid Build Coastguard Worker        },
164*00c7fec1SAndroid Build Coastguard Worker        linux: {
165*00c7fec1SAndroid Build Coastguard Worker            header_libs: ["libbase_headers"],
166*00c7fec1SAndroid Build Coastguard Worker            srcs: [
167*00c7fec1SAndroid Build Coastguard Worker                "Looper.cpp",
168*00c7fec1SAndroid Build Coastguard Worker            ],
169*00c7fec1SAndroid Build Coastguard Worker        },
170*00c7fec1SAndroid Build Coastguard Worker    },
171*00c7fec1SAndroid Build Coastguard Worker
172*00c7fec1SAndroid Build Coastguard Worker    apex_available: [
173*00c7fec1SAndroid Build Coastguard Worker        "//apex_available:anyapex",
174*00c7fec1SAndroid Build Coastguard Worker        "//apex_available:platform",
175*00c7fec1SAndroid Build Coastguard Worker    ],
176*00c7fec1SAndroid Build Coastguard Worker
177*00c7fec1SAndroid Build Coastguard Worker    afdo: true,
178*00c7fec1SAndroid Build Coastguard Worker}
179*00c7fec1SAndroid Build Coastguard Worker
180*00c7fec1SAndroid Build Coastguard Workercc_library {
181*00c7fec1SAndroid Build Coastguard Worker    name: "libutils",
182*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_impl_defaults"],
183*00c7fec1SAndroid Build Coastguard Worker
184*00c7fec1SAndroid Build Coastguard Worker    double_loadable: true,
185*00c7fec1SAndroid Build Coastguard Worker
186*00c7fec1SAndroid Build Coastguard Worker    target: {
187*00c7fec1SAndroid Build Coastguard Worker        product: {
188*00c7fec1SAndroid Build Coastguard Worker            header_abi_checker: {
189*00c7fec1SAndroid Build Coastguard Worker                enabled: true,
190*00c7fec1SAndroid Build Coastguard Worker                // AFDO affects weak symbols.
191*00c7fec1SAndroid Build Coastguard Worker                diff_flags: ["-allow-adding-removing-weak-symbols"],
192*00c7fec1SAndroid Build Coastguard Worker                ref_dump_dirs: ["abi-dumps"],
193*00c7fec1SAndroid Build Coastguard Worker            },
194*00c7fec1SAndroid Build Coastguard Worker        },
195*00c7fec1SAndroid Build Coastguard Worker        vendor: {
196*00c7fec1SAndroid Build Coastguard Worker            header_abi_checker: {
197*00c7fec1SAndroid Build Coastguard Worker                enabled: true,
198*00c7fec1SAndroid Build Coastguard Worker                // AFDO affects weak symbols.
199*00c7fec1SAndroid Build Coastguard Worker                diff_flags: ["-allow-adding-removing-weak-symbols"],
200*00c7fec1SAndroid Build Coastguard Worker                ref_dump_dirs: ["abi-dumps"],
201*00c7fec1SAndroid Build Coastguard Worker            },
202*00c7fec1SAndroid Build Coastguard Worker        },
203*00c7fec1SAndroid Build Coastguard Worker    },
204*00c7fec1SAndroid Build Coastguard Worker}
205*00c7fec1SAndroid Build Coastguard Worker
206*00c7fec1SAndroid Build Coastguard Workercc_library {
207*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_test_compile",
208*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_impl_defaults"],
209*00c7fec1SAndroid Build Coastguard Worker
210*00c7fec1SAndroid Build Coastguard Worker    cflags: [
211*00c7fec1SAndroid Build Coastguard Worker        "-DDEBUG_CALLBACKS=1",
212*00c7fec1SAndroid Build Coastguard Worker        "-DDEBUG_POLL_AND_WAKE=1",
213*00c7fec1SAndroid Build Coastguard Worker        "-DDEBUG_REFS=1",
214*00c7fec1SAndroid Build Coastguard Worker        "-DDEBUG_TOKENIZER=1",
215*00c7fec1SAndroid Build Coastguard Worker    ],
216*00c7fec1SAndroid Build Coastguard Worker
217*00c7fec1SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
218*00c7fec1SAndroid Build Coastguard Worker}
219*00c7fec1SAndroid Build Coastguard Worker
220*00c7fec1SAndroid Build Coastguard Workercc_library {
221*00c7fec1SAndroid Build Coastguard Worker    name: "libutilscallstack",
222*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_defaults"],
223*00c7fec1SAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
224*00c7fec1SAndroid Build Coastguard Worker    native_bridge_supported: true,
225*00c7fec1SAndroid Build Coastguard Worker    min_sdk_version: "29",
226*00c7fec1SAndroid Build Coastguard Worker    double_loadable: true,
227*00c7fec1SAndroid Build Coastguard Worker
228*00c7fec1SAndroid Build Coastguard Worker    header_libs: [
229*00c7fec1SAndroid Build Coastguard Worker        "libbase_headers",
230*00c7fec1SAndroid Build Coastguard Worker        "libutils_headers",
231*00c7fec1SAndroid Build Coastguard Worker    ],
232*00c7fec1SAndroid Build Coastguard Worker    export_header_lib_headers: [
233*00c7fec1SAndroid Build Coastguard Worker        "libutils_headers",
234*00c7fec1SAndroid Build Coastguard Worker    ],
235*00c7fec1SAndroid Build Coastguard Worker
236*00c7fec1SAndroid Build Coastguard Worker    srcs: [
237*00c7fec1SAndroid Build Coastguard Worker        "CallStack.cpp",
238*00c7fec1SAndroid Build Coastguard Worker    ],
239*00c7fec1SAndroid Build Coastguard Worker
240*00c7fec1SAndroid Build Coastguard Worker    shared_libs: [
241*00c7fec1SAndroid Build Coastguard Worker        "libutils",
242*00c7fec1SAndroid Build Coastguard Worker        "libunwindstack",
243*00c7fec1SAndroid Build Coastguard Worker    ],
244*00c7fec1SAndroid Build Coastguard Worker
245*00c7fec1SAndroid Build Coastguard Worker    target: {
246*00c7fec1SAndroid Build Coastguard Worker        linux: {
247*00c7fec1SAndroid Build Coastguard Worker            srcs: [
248*00c7fec1SAndroid Build Coastguard Worker                "ProcessCallStack.cpp",
249*00c7fec1SAndroid Build Coastguard Worker            ],
250*00c7fec1SAndroid Build Coastguard Worker        },
251*00c7fec1SAndroid Build Coastguard Worker        darwin: {
252*00c7fec1SAndroid Build Coastguard Worker            enabled: false,
253*00c7fec1SAndroid Build Coastguard Worker        },
254*00c7fec1SAndroid Build Coastguard Worker        windows: {
255*00c7fec1SAndroid Build Coastguard Worker            enabled: false,
256*00c7fec1SAndroid Build Coastguard Worker        },
257*00c7fec1SAndroid Build Coastguard Worker    },
258*00c7fec1SAndroid Build Coastguard Worker}
259*00c7fec1SAndroid Build Coastguard Worker
260*00c7fec1SAndroid Build Coastguard Workercc_defaults {
261*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_defaults",
262*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
263*00c7fec1SAndroid Build Coastguard Worker    shared_libs: [
264*00c7fec1SAndroid Build Coastguard Worker        "libutils",
265*00c7fec1SAndroid Build Coastguard Worker        "libbase",
266*00c7fec1SAndroid Build Coastguard Worker        "liblog",
267*00c7fec1SAndroid Build Coastguard Worker    ],
268*00c7fec1SAndroid Build Coastguard Worker    fuzz_config: {
269*00c7fec1SAndroid Build Coastguard Worker        cc: [
270*00c7fec1SAndroid Build Coastguard Worker            "[email protected]",
271*00c7fec1SAndroid Build Coastguard Worker        ],
272*00c7fec1SAndroid Build Coastguard Worker        componentid: 128577,
273*00c7fec1SAndroid Build Coastguard Worker        description: "The fuzzer targets the APIs of libutils",
274*00c7fec1SAndroid Build Coastguard Worker        vector: "local_no_privileges_required",
275*00c7fec1SAndroid Build Coastguard Worker        service_privilege: "privileged",
276*00c7fec1SAndroid Build Coastguard Worker        users: "multi_user",
277*00c7fec1SAndroid Build Coastguard Worker        fuzzed_code_usage: "shipped",
278*00c7fec1SAndroid Build Coastguard Worker    },
279*00c7fec1SAndroid Build Coastguard Worker}
280*00c7fec1SAndroid Build Coastguard Worker
281*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
282*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_bitset",
283*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
284*00c7fec1SAndroid Build Coastguard Worker    srcs: ["BitSet_fuzz.cpp"],
285*00c7fec1SAndroid Build Coastguard Worker}
286*00c7fec1SAndroid Build Coastguard Worker
287*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
288*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_filemap",
289*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
290*00c7fec1SAndroid Build Coastguard Worker    srcs: ["FileMap_fuzz.cpp"],
291*00c7fec1SAndroid Build Coastguard Worker}
292*00c7fec1SAndroid Build Coastguard Worker
293*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
294*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_printer",
295*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
296*00c7fec1SAndroid Build Coastguard Worker    srcs: ["Printer_fuzz.cpp"],
297*00c7fec1SAndroid Build Coastguard Worker}
298*00c7fec1SAndroid Build Coastguard Worker
299*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
300*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_callstack",
301*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
302*00c7fec1SAndroid Build Coastguard Worker    srcs: ["CallStack_fuzz.cpp"],
303*00c7fec1SAndroid Build Coastguard Worker    shared_libs: [
304*00c7fec1SAndroid Build Coastguard Worker        "libutilscallstack",
305*00c7fec1SAndroid Build Coastguard Worker    ],
306*00c7fec1SAndroid Build Coastguard Worker}
307*00c7fec1SAndroid Build Coastguard Worker
308*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
309*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_process_callstack",
310*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
311*00c7fec1SAndroid Build Coastguard Worker    srcs: ["ProcessCallStack_fuzz.cpp"],
312*00c7fec1SAndroid Build Coastguard Worker    shared_libs: [
313*00c7fec1SAndroid Build Coastguard Worker        "libutilscallstack",
314*00c7fec1SAndroid Build Coastguard Worker    ],
315*00c7fec1SAndroid Build Coastguard Worker}
316*00c7fec1SAndroid Build Coastguard Worker
317*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
318*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_lrucache",
319*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
320*00c7fec1SAndroid Build Coastguard Worker    srcs: ["LruCache_fuzz.cpp"],
321*00c7fec1SAndroid Build Coastguard Worker}
322*00c7fec1SAndroid Build Coastguard Worker
323*00c7fec1SAndroid Build Coastguard Workercc_fuzz {
324*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_fuzz_looper",
325*00c7fec1SAndroid Build Coastguard Worker    defaults: ["libutils_fuzz_defaults"],
326*00c7fec1SAndroid Build Coastguard Worker    srcs: ["Looper_fuzz.cpp"],
327*00c7fec1SAndroid Build Coastguard Worker}
328*00c7fec1SAndroid Build Coastguard Worker
329*00c7fec1SAndroid Build Coastguard Workercc_test {
330*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_test",
331*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
332*00c7fec1SAndroid Build Coastguard Worker
333*00c7fec1SAndroid Build Coastguard Worker    srcs: [
334*00c7fec1SAndroid Build Coastguard Worker        "BitSet_test.cpp",
335*00c7fec1SAndroid Build Coastguard Worker        "CallStack_test.cpp",
336*00c7fec1SAndroid Build Coastguard Worker        "FileMap_test.cpp",
337*00c7fec1SAndroid Build Coastguard Worker        "LruCache_test.cpp",
338*00c7fec1SAndroid Build Coastguard Worker        "Mutex_test.cpp",
339*00c7fec1SAndroid Build Coastguard Worker        "Singleton_test.cpp",
340*00c7fec1SAndroid Build Coastguard Worker        "Timers_test.cpp",
341*00c7fec1SAndroid Build Coastguard Worker    ],
342*00c7fec1SAndroid Build Coastguard Worker
343*00c7fec1SAndroid Build Coastguard Worker    target: {
344*00c7fec1SAndroid Build Coastguard Worker        android: {
345*00c7fec1SAndroid Build Coastguard Worker            srcs: [
346*00c7fec1SAndroid Build Coastguard Worker                "SystemClock_test.cpp",
347*00c7fec1SAndroid Build Coastguard Worker            ],
348*00c7fec1SAndroid Build Coastguard Worker            shared_libs: [
349*00c7fec1SAndroid Build Coastguard Worker                "libbase",
350*00c7fec1SAndroid Build Coastguard Worker                "libcutils",
351*00c7fec1SAndroid Build Coastguard Worker                "liblog",
352*00c7fec1SAndroid Build Coastguard Worker                "liblzma",
353*00c7fec1SAndroid Build Coastguard Worker                "libunwindstack",
354*00c7fec1SAndroid Build Coastguard Worker                "libutils",
355*00c7fec1SAndroid Build Coastguard Worker                "libutilscallstack",
356*00c7fec1SAndroid Build Coastguard Worker                "libz",
357*00c7fec1SAndroid Build Coastguard Worker            ],
358*00c7fec1SAndroid Build Coastguard Worker        },
359*00c7fec1SAndroid Build Coastguard Worker        linux: {
360*00c7fec1SAndroid Build Coastguard Worker            srcs: [
361*00c7fec1SAndroid Build Coastguard Worker                "Looper_test.cpp",
362*00c7fec1SAndroid Build Coastguard Worker            ],
363*00c7fec1SAndroid Build Coastguard Worker        },
364*00c7fec1SAndroid Build Coastguard Worker        host: {
365*00c7fec1SAndroid Build Coastguard Worker            static_libs: [
366*00c7fec1SAndroid Build Coastguard Worker                "libbase",
367*00c7fec1SAndroid Build Coastguard Worker                "liblog",
368*00c7fec1SAndroid Build Coastguard Worker                "liblzma",
369*00c7fec1SAndroid Build Coastguard Worker                "libunwindstack_no_dex",
370*00c7fec1SAndroid Build Coastguard Worker                "libutils",
371*00c7fec1SAndroid Build Coastguard Worker                "libutilscallstack",
372*00c7fec1SAndroid Build Coastguard Worker                "libz",
373*00c7fec1SAndroid Build Coastguard Worker            ],
374*00c7fec1SAndroid Build Coastguard Worker        },
375*00c7fec1SAndroid Build Coastguard Worker    },
376*00c7fec1SAndroid Build Coastguard Worker
377*00c7fec1SAndroid Build Coastguard Worker    data_libs: [
378*00c7fec1SAndroid Build Coastguard Worker        "libutils_test_singleton1",
379*00c7fec1SAndroid Build Coastguard Worker        "libutils_test_singleton2",
380*00c7fec1SAndroid Build Coastguard Worker    ],
381*00c7fec1SAndroid Build Coastguard Worker
382*00c7fec1SAndroid Build Coastguard Worker    cflags: [
383*00c7fec1SAndroid Build Coastguard Worker        "-Wall",
384*00c7fec1SAndroid Build Coastguard Worker        "-Wextra",
385*00c7fec1SAndroid Build Coastguard Worker        "-Werror",
386*00c7fec1SAndroid Build Coastguard Worker        "-Wthread-safety",
387*00c7fec1SAndroid Build Coastguard Worker    ],
388*00c7fec1SAndroid Build Coastguard Worker
389*00c7fec1SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
390*00c7fec1SAndroid Build Coastguard Worker}
391*00c7fec1SAndroid Build Coastguard Worker
392*00c7fec1SAndroid Build Coastguard Workercc_test_library {
393*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_test_singleton1",
394*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
395*00c7fec1SAndroid Build Coastguard Worker    installable: false,
396*00c7fec1SAndroid Build Coastguard Worker    srcs: ["Singleton_test1.cpp"],
397*00c7fec1SAndroid Build Coastguard Worker    cflags: [
398*00c7fec1SAndroid Build Coastguard Worker        "-Wall",
399*00c7fec1SAndroid Build Coastguard Worker        "-Werror",
400*00c7fec1SAndroid Build Coastguard Worker    ],
401*00c7fec1SAndroid Build Coastguard Worker    header_libs: ["libutils_headers"],
402*00c7fec1SAndroid Build Coastguard Worker}
403*00c7fec1SAndroid Build Coastguard Worker
404*00c7fec1SAndroid Build Coastguard Workercc_test_library {
405*00c7fec1SAndroid Build Coastguard Worker    name: "libutils_test_singleton2",
406*00c7fec1SAndroid Build Coastguard Worker    host_supported: true,
407*00c7fec1SAndroid Build Coastguard Worker    installable: false,
408*00c7fec1SAndroid Build Coastguard Worker    srcs: ["Singleton_test2.cpp"],
409*00c7fec1SAndroid Build Coastguard Worker    cflags: [
410*00c7fec1SAndroid Build Coastguard Worker        "-Wall",
411*00c7fec1SAndroid Build Coastguard Worker        "-Werror",
412*00c7fec1SAndroid Build Coastguard Worker    ],
413*00c7fec1SAndroid Build Coastguard Worker    shared_libs: ["libutils_test_singleton1"],
414*00c7fec1SAndroid Build Coastguard Worker    header_libs: ["libutils_headers"],
415*00c7fec1SAndroid Build Coastguard Worker}
416