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