blob: d1cdfecaaecae61700f5bab4742655f7a42373af [file] [log] [blame]
Colin Cross2722ebb2016-07-11 16:20:06 -07001//
2// Copyright (C) 2013 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
Bob Badouraa7d8352021-02-19 13:06:22 -080017package {
Aditya Choudharyd9d37c02024-02-02 13:57:12 +000018 default_team: "trendy_team_native_tools_libraries",
Bob Badouraa7d8352021-02-19 13:06:22 -080019 default_applicable_licenses: ["bionic_benchmarks_license"],
20}
21
22license {
23 name: "bionic_benchmarks_license",
24 visibility: [":__subpackages__"],
25 license_kinds: [
26 "SPDX-license-identifier-Apache-2.0",
27 "SPDX-license-identifier-BSD",
28 ],
29 license_text: [
30 "NOTICE",
31 ],
32}
33
Colin Cross2722ebb2016-07-11 16:20:06 -070034cc_defaults {
35 name: "bionic-benchmarks-defaults",
36 cflags: [
37 "-O2",
38 "-fno-builtin",
39 "-Wall",
40 "-Wextra",
41 "-Werror",
Elliott Hughes7063a832017-12-19 08:55:40 -080042 "-Wno-gcc-compat",
Colin Cross2722ebb2016-07-11 16:20:06 -070043 "-Wunused",
44 ],
45 srcs: [
Anders Lewisa7b0f882017-07-24 20:01:13 -070046 "bionic_benchmarks.cpp",
Hans Boehm3f557872017-01-23 17:30:44 -080047 "atomic_benchmark.cpp",
Elliott Hughes9ff7d092019-09-26 21:47:01 -070048 "ctype_benchmark.cpp",
Hans Boehm3e5754c2018-10-18 10:37:34 -070049 "get_heap_size_benchmark.cpp",
Elliott Hughes7063a832017-12-19 08:55:40 -080050 "inttypes_benchmark.cpp",
Christopher Ferris0dc78442018-08-09 15:19:57 -070051 "malloc_benchmark.cpp",
Christopher Ferris5a3c9202019-12-04 15:57:07 -080052 "malloc_sql_benchmark.cpp",
Christopher Ferrisd613f892020-02-20 17:12:48 -080053 "malloc_map_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070054 "math_benchmark.cpp",
55 "property_benchmark.cpp",
56 "pthread_benchmark.cpp",
57 "semaphore_benchmark.cpp",
58 "stdio_benchmark.cpp",
Christopher Ferris858e3362017-11-30 08:53:15 -080059 "stdlib_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070060 "string_benchmark.cpp",
Carlos Galofb7dd9d2024-03-06 05:19:37 +000061 "syscall_mm_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070062 "time_benchmark.cpp",
63 "unistd_benchmark.cpp",
Elliott Hughesbab9cfd2019-09-25 18:17:17 -070064 "wctype_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070065 ],
Elliott Hughes62732992018-09-24 16:45:13 -070066 shared_libs: ["liblog"],
Anders Lewisa7b0f882017-07-24 20:01:13 -070067 static_libs: [
68 "libbase",
69 "libBionicBenchmarksUtils",
Elliott Hughes62732992018-09-24 16:45:13 -070070 "libtinyxml2",
Anders Lewisa7b0f882017-07-24 20:01:13 -070071 ],
Elliott Hughes62732992018-09-24 16:45:13 -070072 stl: "libc++_static",
Christopher Ferrisd613f892020-02-20 17:12:48 -080073
74 target: {
75 android: {
Christopher Ferrisb4e560e2023-10-26 17:00:00 -070076 header_libs: ["bionic_libc_platform_headers"],
Christopher Ferrisd613f892020-02-20 17:12:48 -080077 static_libs: [
78 "libmeminfo",
79 "libprocinfo",
80 ],
81 },
82 },
Anders Lewisf4447b92017-06-23 15:53:59 -070083}
84
85cc_defaults {
86 name: "bionic-benchmarks-extras-defaults",
87 cflags: [
88 "-Wall",
89 "-Wextra",
90 "-Werror",
91 "-Wunused",
92 ],
Colin Cross2722ebb2016-07-11 16:20:06 -070093}
94
95// Build benchmarks for the device (with bionic's .so). Run with:
Elliott Hughesd655bc62019-04-23 11:49:13 -070096// adb shell /data/benchmarktest/bionic-benchmarks/bionic-benchmarks
97// adb shell /data/benchmarktest64/bionic-benchmarks/bionic-benchmarks
Colin Cross2722ebb2016-07-11 16:20:06 -070098cc_benchmark {
99 name: "bionic-benchmarks",
100 defaults: ["bionic-benchmarks-defaults"],
Peter Collingbourne2cefcb12020-12-08 14:37:58 -0800101 srcs: [
102 "dlfcn_benchmark.cpp",
103 ],
Anders Lewisa7b0f882017-07-24 20:01:13 -0700104 data: ["suites/*"],
Tom Cherrye275d6d2017-12-11 23:31:33 -0800105 static_libs: [
106 "libsystemproperties",
107 "libasync_safe",
108 ],
Elliott Hughesd50a1de2018-02-05 17:30:57 -0800109 include_dirs: ["bionic/libc"],
Colin Cross2722ebb2016-07-11 16:20:06 -0700110}
111
Peter Collingbourne2cefcb12020-12-08 14:37:58 -0800112cc_benchmark {
113 name: "bionic-benchmarks-static",
114 defaults: ["bionic-benchmarks-defaults"],
115 data: ["suites/*"],
116 static_libs: [
117 "liblog",
118 "libsystemproperties",
119 "libasync_safe",
120 ],
121 include_dirs: ["bionic/libc"],
122 static_executable: true,
123}
Colin Cross2722ebb2016-07-11 16:20:06 -0700124
125// Build benchmarks for the host (against glibc!). Run with:
126cc_benchmark_host {
127 name: "bionic-benchmarks-glibc",
128 defaults: ["bionic-benchmarks-defaults"],
Peter Collingbourne2cefcb12020-12-08 14:37:58 -0800129 srcs: [
130 "dlfcn_benchmark.cpp",
131 ],
Colin Cross2722ebb2016-07-11 16:20:06 -0700132 target: {
133 darwin: {
134 // Only supported on linux systems.
135 enabled: false,
136 },
137 },
Christopher Ferrisd9d39be2017-08-23 18:03:51 -0700138 data: ["suites/*"],
Colin Cross2722ebb2016-07-11 16:20:06 -0700139}
Anders Lewisf4447b92017-06-23 15:53:59 -0700140
141cc_library_static {
142 name: "libBionicBenchmarksUtils",
143 defaults: ["bionic-benchmarks-extras-defaults"],
144 srcs: ["util.cpp"],
145 host_supported: true,
146}
147
148cc_test {
149 name: "bionic-benchmarks-tests",
Christopher Ferris18cbed72018-10-19 13:54:11 -0700150 isolated: true,
Anders Lewisf4447b92017-06-23 15:53:59 -0700151 defaults: ["bionic-benchmarks-extras-defaults"],
152 srcs: [
153 "tests/benchmark_test.cpp",
Anders Lewisa7b0f882017-07-24 20:01:13 -0700154 "tests/interface_test.cpp",
Anders Lewisf4447b92017-06-23 15:53:59 -0700155 ],
Anders Lewis4b26f712017-08-11 15:56:18 -0700156 static_libs: [
157 "libbase",
158 "libBionicBenchmarksUtils",
159 ],
Christopher Ferris80b551d2023-05-25 15:44:54 -0700160 data: [
161 "test_suites/*",
162 "suites/*",
163 ":bionic-benchmarks",
164 ],
165 test_suites: ["device-tests"],
166 require_root: true,
Anders Lewisf4447b92017-06-23 15:53:59 -0700167}
Chia-hung Duana15d5c42022-08-09 01:55:44 +0000168
169cc_binary {
170 name: "malloc-rss-benchmark",
171 srcs: [
172 "malloc_rss_benchmark.cpp",
173 ],
174
175 shared_libs: [
176 "libbase",
177 ],
178
179 target: {
180 android: {
181 static_libs: [
182 "libmeminfo",
183 "libprocinfo",
184 ],
185 },
186 },
187}