blob: 61084a1f7f783fa86c9961b8f0d2a86727403189 [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
17cc_defaults {
18 name: "bionic-benchmarks-defaults",
19 cflags: [
20 "-O2",
21 "-fno-builtin",
22 "-Wall",
23 "-Wextra",
24 "-Werror",
Elliott Hughes7063a832017-12-19 08:55:40 -080025 "-Wno-gcc-compat",
Colin Cross2722ebb2016-07-11 16:20:06 -070026 "-Wunused",
27 ],
28 srcs: [
Anders Lewisa7b0f882017-07-24 20:01:13 -070029 "bionic_benchmarks.cpp",
Hans Boehm3f557872017-01-23 17:30:44 -080030 "atomic_benchmark.cpp",
Elliott Hughes9ff7d092019-09-26 21:47:01 -070031 "ctype_benchmark.cpp",
Hans Boehm3e5754c2018-10-18 10:37:34 -070032 "get_heap_size_benchmark.cpp",
Elliott Hughes7063a832017-12-19 08:55:40 -080033 "inttypes_benchmark.cpp",
Christopher Ferris0dc78442018-08-09 15:19:57 -070034 "malloc_benchmark.cpp",
Christopher Ferris5a3c9202019-12-04 15:57:07 -080035 "malloc_sql_benchmark.cpp",
Christopher Ferrisd613f892020-02-20 17:12:48 -080036 "malloc_map_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070037 "math_benchmark.cpp",
38 "property_benchmark.cpp",
39 "pthread_benchmark.cpp",
40 "semaphore_benchmark.cpp",
41 "stdio_benchmark.cpp",
Christopher Ferris858e3362017-11-30 08:53:15 -080042 "stdlib_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070043 "string_benchmark.cpp",
44 "time_benchmark.cpp",
45 "unistd_benchmark.cpp",
Elliott Hughesbab9cfd2019-09-25 18:17:17 -070046 "wctype_benchmark.cpp",
Colin Cross2722ebb2016-07-11 16:20:06 -070047 ],
Elliott Hughes62732992018-09-24 16:45:13 -070048 shared_libs: ["liblog"],
Anders Lewisa7b0f882017-07-24 20:01:13 -070049 static_libs: [
50 "libbase",
51 "libBionicBenchmarksUtils",
Elliott Hughes62732992018-09-24 16:45:13 -070052 "libtinyxml2",
Anders Lewisa7b0f882017-07-24 20:01:13 -070053 ],
Elliott Hughes62732992018-09-24 16:45:13 -070054 stl: "libc++_static",
Christopher Ferrisd613f892020-02-20 17:12:48 -080055
56 target: {
57 android: {
58 static_libs: [
59 "libmeminfo",
60 "libprocinfo",
61 ],
62 },
63 },
Anders Lewisf4447b92017-06-23 15:53:59 -070064}
65
66cc_defaults {
67 name: "bionic-benchmarks-extras-defaults",
68 cflags: [
69 "-Wall",
70 "-Wextra",
71 "-Werror",
72 "-Wunused",
73 ],
Colin Cross2722ebb2016-07-11 16:20:06 -070074}
75
76// Build benchmarks for the device (with bionic's .so). Run with:
Elliott Hughesd655bc62019-04-23 11:49:13 -070077// adb shell /data/benchmarktest/bionic-benchmarks/bionic-benchmarks
78// adb shell /data/benchmarktest64/bionic-benchmarks/bionic-benchmarks
Colin Cross2722ebb2016-07-11 16:20:06 -070079cc_benchmark {
80 name: "bionic-benchmarks",
81 defaults: ["bionic-benchmarks-defaults"],
Peter Collingbourne2cefcb12020-12-08 14:37:58 -080082 srcs: [
83 "dlfcn_benchmark.cpp",
84 ],
Anders Lewisa7b0f882017-07-24 20:01:13 -070085 data: ["suites/*"],
Tom Cherrye275d6d2017-12-11 23:31:33 -080086 static_libs: [
87 "libsystemproperties",
88 "libasync_safe",
89 ],
Elliott Hughesd50a1de2018-02-05 17:30:57 -080090 include_dirs: ["bionic/libc"],
Colin Cross2722ebb2016-07-11 16:20:06 -070091}
92
Peter Collingbourne2cefcb12020-12-08 14:37:58 -080093cc_benchmark {
94 name: "bionic-benchmarks-static",
95 defaults: ["bionic-benchmarks-defaults"],
96 data: ["suites/*"],
97 static_libs: [
98 "liblog",
99 "libsystemproperties",
100 "libasync_safe",
101 ],
102 include_dirs: ["bionic/libc"],
103 static_executable: true,
104}
Colin Cross2722ebb2016-07-11 16:20:06 -0700105
106// Build benchmarks for the host (against glibc!). Run with:
107cc_benchmark_host {
108 name: "bionic-benchmarks-glibc",
109 defaults: ["bionic-benchmarks-defaults"],
Peter Collingbourne2cefcb12020-12-08 14:37:58 -0800110 srcs: [
111 "dlfcn_benchmark.cpp",
112 ],
Colin Cross2722ebb2016-07-11 16:20:06 -0700113 target: {
114 darwin: {
115 // Only supported on linux systems.
116 enabled: false,
117 },
118 },
Christopher Ferrisd9d39be2017-08-23 18:03:51 -0700119 data: ["suites/*"],
Colin Cross2722ebb2016-07-11 16:20:06 -0700120}
Anders Lewisf4447b92017-06-23 15:53:59 -0700121
122cc_library_static {
123 name: "libBionicBenchmarksUtils",
124 defaults: ["bionic-benchmarks-extras-defaults"],
125 srcs: ["util.cpp"],
126 host_supported: true,
127}
128
129cc_test {
130 name: "bionic-benchmarks-tests",
Christopher Ferris18cbed72018-10-19 13:54:11 -0700131 isolated: true,
Anders Lewisf4447b92017-06-23 15:53:59 -0700132 defaults: ["bionic-benchmarks-extras-defaults"],
133 srcs: [
134 "tests/benchmark_test.cpp",
Anders Lewisa7b0f882017-07-24 20:01:13 -0700135 "tests/interface_test.cpp",
Anders Lewisf4447b92017-06-23 15:53:59 -0700136 ],
Anders Lewis4b26f712017-08-11 15:56:18 -0700137 static_libs: [
138 "libbase",
139 "libBionicBenchmarksUtils",
140 ],
Haibo Huang510dda32018-08-11 23:39:06 -0700141 data: ["test_suites/*"],
Anders Lewisf4447b92017-06-23 15:53:59 -0700142}