xref: /aosp_15_r20/bionic/benchmarks/Android.bp (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker//
2*8d67ca89SAndroid Build Coastguard Worker// Copyright (C) 2013 The Android Open Source Project
3*8d67ca89SAndroid Build Coastguard Worker//
4*8d67ca89SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*8d67ca89SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*8d67ca89SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*8d67ca89SAndroid Build Coastguard Worker//
8*8d67ca89SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*8d67ca89SAndroid Build Coastguard Worker//
10*8d67ca89SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*8d67ca89SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*8d67ca89SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*8d67ca89SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*8d67ca89SAndroid Build Coastguard Worker// limitations under the License.
15*8d67ca89SAndroid Build Coastguard Worker//
16*8d67ca89SAndroid Build Coastguard Worker
17*8d67ca89SAndroid Build Coastguard Workerpackage {
18*8d67ca89SAndroid Build Coastguard Worker    default_team: "trendy_team_native_tools_libraries",
19*8d67ca89SAndroid Build Coastguard Worker    default_applicable_licenses: ["bionic_benchmarks_license"],
20*8d67ca89SAndroid Build Coastguard Worker}
21*8d67ca89SAndroid Build Coastguard Worker
22*8d67ca89SAndroid Build Coastguard Workerlicense {
23*8d67ca89SAndroid Build Coastguard Worker    name: "bionic_benchmarks_license",
24*8d67ca89SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*8d67ca89SAndroid Build Coastguard Worker    license_kinds: [
26*8d67ca89SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*8d67ca89SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
28*8d67ca89SAndroid Build Coastguard Worker    ],
29*8d67ca89SAndroid Build Coastguard Worker    license_text: [
30*8d67ca89SAndroid Build Coastguard Worker        "NOTICE",
31*8d67ca89SAndroid Build Coastguard Worker    ],
32*8d67ca89SAndroid Build Coastguard Worker}
33*8d67ca89SAndroid Build Coastguard Worker
34*8d67ca89SAndroid Build Coastguard Workercc_defaults {
35*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks-defaults",
36*8d67ca89SAndroid Build Coastguard Worker    cflags: [
37*8d67ca89SAndroid Build Coastguard Worker        "-O2",
38*8d67ca89SAndroid Build Coastguard Worker        "-fno-builtin",
39*8d67ca89SAndroid Build Coastguard Worker        "-Wall",
40*8d67ca89SAndroid Build Coastguard Worker        "-Wextra",
41*8d67ca89SAndroid Build Coastguard Worker        "-Werror",
42*8d67ca89SAndroid Build Coastguard Worker        "-Wno-gcc-compat",
43*8d67ca89SAndroid Build Coastguard Worker        "-Wunused",
44*8d67ca89SAndroid Build Coastguard Worker    ],
45*8d67ca89SAndroid Build Coastguard Worker    srcs: [
46*8d67ca89SAndroid Build Coastguard Worker        "bionic_benchmarks.cpp",
47*8d67ca89SAndroid Build Coastguard Worker        "atomic_benchmark.cpp",
48*8d67ca89SAndroid Build Coastguard Worker        "ctype_benchmark.cpp",
49*8d67ca89SAndroid Build Coastguard Worker        "get_heap_size_benchmark.cpp",
50*8d67ca89SAndroid Build Coastguard Worker        "inttypes_benchmark.cpp",
51*8d67ca89SAndroid Build Coastguard Worker        "malloc_benchmark.cpp",
52*8d67ca89SAndroid Build Coastguard Worker        "malloc_sql_benchmark.cpp",
53*8d67ca89SAndroid Build Coastguard Worker        "malloc_map_benchmark.cpp",
54*8d67ca89SAndroid Build Coastguard Worker        "math_benchmark.cpp",
55*8d67ca89SAndroid Build Coastguard Worker        "property_benchmark.cpp",
56*8d67ca89SAndroid Build Coastguard Worker        "pthread_benchmark.cpp",
57*8d67ca89SAndroid Build Coastguard Worker        "semaphore_benchmark.cpp",
58*8d67ca89SAndroid Build Coastguard Worker        "stdio_benchmark.cpp",
59*8d67ca89SAndroid Build Coastguard Worker        "stdlib_benchmark.cpp",
60*8d67ca89SAndroid Build Coastguard Worker        "string_benchmark.cpp",
61*8d67ca89SAndroid Build Coastguard Worker        "syscall_mm_benchmark.cpp",
62*8d67ca89SAndroid Build Coastguard Worker        "time_benchmark.cpp",
63*8d67ca89SAndroid Build Coastguard Worker        "unistd_benchmark.cpp",
64*8d67ca89SAndroid Build Coastguard Worker        "wctype_benchmark.cpp",
65*8d67ca89SAndroid Build Coastguard Worker    ],
66*8d67ca89SAndroid Build Coastguard Worker    shared_libs: ["liblog"],
67*8d67ca89SAndroid Build Coastguard Worker    static_libs: [
68*8d67ca89SAndroid Build Coastguard Worker        "libbase",
69*8d67ca89SAndroid Build Coastguard Worker        "libBionicBenchmarksUtils",
70*8d67ca89SAndroid Build Coastguard Worker        "libtinyxml2",
71*8d67ca89SAndroid Build Coastguard Worker    ],
72*8d67ca89SAndroid Build Coastguard Worker    stl: "libc++_static",
73*8d67ca89SAndroid Build Coastguard Worker
74*8d67ca89SAndroid Build Coastguard Worker    target: {
75*8d67ca89SAndroid Build Coastguard Worker        android: {
76*8d67ca89SAndroid Build Coastguard Worker            header_libs: ["bionic_libc_platform_headers"],
77*8d67ca89SAndroid Build Coastguard Worker            static_libs: [
78*8d67ca89SAndroid Build Coastguard Worker                "libmeminfo",
79*8d67ca89SAndroid Build Coastguard Worker                "libprocinfo",
80*8d67ca89SAndroid Build Coastguard Worker            ],
81*8d67ca89SAndroid Build Coastguard Worker        },
82*8d67ca89SAndroid Build Coastguard Worker    },
83*8d67ca89SAndroid Build Coastguard Worker}
84*8d67ca89SAndroid Build Coastguard Worker
85*8d67ca89SAndroid Build Coastguard Workercc_defaults {
86*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks-extras-defaults",
87*8d67ca89SAndroid Build Coastguard Worker    cflags: [
88*8d67ca89SAndroid Build Coastguard Worker        "-Wall",
89*8d67ca89SAndroid Build Coastguard Worker        "-Wextra",
90*8d67ca89SAndroid Build Coastguard Worker        "-Werror",
91*8d67ca89SAndroid Build Coastguard Worker        "-Wunused",
92*8d67ca89SAndroid Build Coastguard Worker    ],
93*8d67ca89SAndroid Build Coastguard Worker}
94*8d67ca89SAndroid Build Coastguard Worker
95*8d67ca89SAndroid Build Coastguard Worker// Build benchmarks for the device (with bionic's .so). Run with:
96*8d67ca89SAndroid Build Coastguard Worker//   adb shell /data/benchmarktest/bionic-benchmarks/bionic-benchmarks
97*8d67ca89SAndroid Build Coastguard Worker//   adb shell /data/benchmarktest64/bionic-benchmarks/bionic-benchmarks
98*8d67ca89SAndroid Build Coastguard Workercc_benchmark {
99*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks",
100*8d67ca89SAndroid Build Coastguard Worker    defaults: ["bionic-benchmarks-defaults"],
101*8d67ca89SAndroid Build Coastguard Worker    srcs: [
102*8d67ca89SAndroid Build Coastguard Worker        "dlfcn_benchmark.cpp",
103*8d67ca89SAndroid Build Coastguard Worker    ],
104*8d67ca89SAndroid Build Coastguard Worker    data: ["suites/*"],
105*8d67ca89SAndroid Build Coastguard Worker    static_libs: [
106*8d67ca89SAndroid Build Coastguard Worker        "libsystemproperties",
107*8d67ca89SAndroid Build Coastguard Worker        "libasync_safe",
108*8d67ca89SAndroid Build Coastguard Worker    ],
109*8d67ca89SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc"],
110*8d67ca89SAndroid Build Coastguard Worker}
111*8d67ca89SAndroid Build Coastguard Worker
112*8d67ca89SAndroid Build Coastguard Workercc_benchmark {
113*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks-static",
114*8d67ca89SAndroid Build Coastguard Worker    defaults: ["bionic-benchmarks-defaults"],
115*8d67ca89SAndroid Build Coastguard Worker    data: ["suites/*"],
116*8d67ca89SAndroid Build Coastguard Worker    static_libs: [
117*8d67ca89SAndroid Build Coastguard Worker        "liblog",
118*8d67ca89SAndroid Build Coastguard Worker        "libsystemproperties",
119*8d67ca89SAndroid Build Coastguard Worker        "libasync_safe",
120*8d67ca89SAndroid Build Coastguard Worker    ],
121*8d67ca89SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc"],
122*8d67ca89SAndroid Build Coastguard Worker    static_executable: true,
123*8d67ca89SAndroid Build Coastguard Worker}
124*8d67ca89SAndroid Build Coastguard Worker
125*8d67ca89SAndroid Build Coastguard Worker// Build benchmarks for the host (against glibc!). Run with:
126*8d67ca89SAndroid Build Coastguard Workercc_benchmark_host {
127*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks-glibc",
128*8d67ca89SAndroid Build Coastguard Worker    defaults: ["bionic-benchmarks-defaults"],
129*8d67ca89SAndroid Build Coastguard Worker    srcs: [
130*8d67ca89SAndroid Build Coastguard Worker        "dlfcn_benchmark.cpp",
131*8d67ca89SAndroid Build Coastguard Worker    ],
132*8d67ca89SAndroid Build Coastguard Worker    target: {
133*8d67ca89SAndroid Build Coastguard Worker        darwin: {
134*8d67ca89SAndroid Build Coastguard Worker            // Only supported on linux systems.
135*8d67ca89SAndroid Build Coastguard Worker            enabled: false,
136*8d67ca89SAndroid Build Coastguard Worker        },
137*8d67ca89SAndroid Build Coastguard Worker    },
138*8d67ca89SAndroid Build Coastguard Worker    data: ["suites/*"],
139*8d67ca89SAndroid Build Coastguard Worker}
140*8d67ca89SAndroid Build Coastguard Worker
141*8d67ca89SAndroid Build Coastguard Workercc_library_static {
142*8d67ca89SAndroid Build Coastguard Worker    name: "libBionicBenchmarksUtils",
143*8d67ca89SAndroid Build Coastguard Worker    defaults: ["bionic-benchmarks-extras-defaults"],
144*8d67ca89SAndroid Build Coastguard Worker    srcs: ["util.cpp"],
145*8d67ca89SAndroid Build Coastguard Worker    host_supported: true,
146*8d67ca89SAndroid Build Coastguard Worker}
147*8d67ca89SAndroid Build Coastguard Worker
148*8d67ca89SAndroid Build Coastguard Workercc_test {
149*8d67ca89SAndroid Build Coastguard Worker    name: "bionic-benchmarks-tests",
150*8d67ca89SAndroid Build Coastguard Worker    isolated: true,
151*8d67ca89SAndroid Build Coastguard Worker    defaults: ["bionic-benchmarks-extras-defaults"],
152*8d67ca89SAndroid Build Coastguard Worker    srcs: [
153*8d67ca89SAndroid Build Coastguard Worker        "tests/benchmark_test.cpp",
154*8d67ca89SAndroid Build Coastguard Worker        "tests/interface_test.cpp",
155*8d67ca89SAndroid Build Coastguard Worker    ],
156*8d67ca89SAndroid Build Coastguard Worker    static_libs: [
157*8d67ca89SAndroid Build Coastguard Worker        "libbase",
158*8d67ca89SAndroid Build Coastguard Worker        "libBionicBenchmarksUtils",
159*8d67ca89SAndroid Build Coastguard Worker    ],
160*8d67ca89SAndroid Build Coastguard Worker    data: [
161*8d67ca89SAndroid Build Coastguard Worker        "test_suites/*",
162*8d67ca89SAndroid Build Coastguard Worker        "suites/*",
163*8d67ca89SAndroid Build Coastguard Worker        ":bionic-benchmarks",
164*8d67ca89SAndroid Build Coastguard Worker    ],
165*8d67ca89SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
166*8d67ca89SAndroid Build Coastguard Worker    require_root: true,
167*8d67ca89SAndroid Build Coastguard Worker}
168*8d67ca89SAndroid Build Coastguard Worker
169*8d67ca89SAndroid Build Coastguard Workercc_binary {
170*8d67ca89SAndroid Build Coastguard Worker    name: "malloc-rss-benchmark",
171*8d67ca89SAndroid Build Coastguard Worker    srcs: [
172*8d67ca89SAndroid Build Coastguard Worker        "malloc_rss_benchmark.cpp",
173*8d67ca89SAndroid Build Coastguard Worker    ],
174*8d67ca89SAndroid Build Coastguard Worker
175*8d67ca89SAndroid Build Coastguard Worker    shared_libs: [
176*8d67ca89SAndroid Build Coastguard Worker        "libbase",
177*8d67ca89SAndroid Build Coastguard Worker    ],
178*8d67ca89SAndroid Build Coastguard Worker
179*8d67ca89SAndroid Build Coastguard Worker    target: {
180*8d67ca89SAndroid Build Coastguard Worker        android: {
181*8d67ca89SAndroid Build Coastguard Worker            static_libs: [
182*8d67ca89SAndroid Build Coastguard Worker                "libmeminfo",
183*8d67ca89SAndroid Build Coastguard Worker                "libprocinfo",
184*8d67ca89SAndroid Build Coastguard Worker            ],
185*8d67ca89SAndroid Build Coastguard Worker        },
186*8d67ca89SAndroid Build Coastguard Worker    },
187*8d67ca89SAndroid Build Coastguard Worker}
188