blob: d1cdfecaaecae61700f5bab4742655f7a42373af [file] [log] [blame]
//
// Copyright (C) 2013 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package {
default_team: "trendy_team_native_tools_libraries",
default_applicable_licenses: ["bionic_benchmarks_license"],
}
license {
name: "bionic_benchmarks_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
],
license_text: [
"NOTICE",
],
}
cc_defaults {
name: "bionic-benchmarks-defaults",
cflags: [
"-O2",
"-fno-builtin",
"-Wall",
"-Wextra",
"-Werror",
"-Wno-gcc-compat",
"-Wunused",
],
srcs: [
"bionic_benchmarks.cpp",
"atomic_benchmark.cpp",
"ctype_benchmark.cpp",
"get_heap_size_benchmark.cpp",
"inttypes_benchmark.cpp",
"malloc_benchmark.cpp",
"malloc_sql_benchmark.cpp",
"malloc_map_benchmark.cpp",
"math_benchmark.cpp",
"property_benchmark.cpp",
"pthread_benchmark.cpp",
"semaphore_benchmark.cpp",
"stdio_benchmark.cpp",
"stdlib_benchmark.cpp",
"string_benchmark.cpp",
"syscall_mm_benchmark.cpp",
"time_benchmark.cpp",
"unistd_benchmark.cpp",
"wctype_benchmark.cpp",
],
shared_libs: ["liblog"],
static_libs: [
"libbase",
"libBionicBenchmarksUtils",
"libtinyxml2",
],
stl: "libc++_static",
target: {
android: {
header_libs: ["bionic_libc_platform_headers"],
static_libs: [
"libmeminfo",
"libprocinfo",
],
},
},
}
cc_defaults {
name: "bionic-benchmarks-extras-defaults",
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wunused",
],
}
// Build benchmarks for the device (with bionic's .so). Run with:
// adb shell /data/benchmarktest/bionic-benchmarks/bionic-benchmarks
// adb shell /data/benchmarktest64/bionic-benchmarks/bionic-benchmarks
cc_benchmark {
name: "bionic-benchmarks",
defaults: ["bionic-benchmarks-defaults"],
srcs: [
"dlfcn_benchmark.cpp",
],
data: ["suites/*"],
static_libs: [
"libsystemproperties",
"libasync_safe",
],
include_dirs: ["bionic/libc"],
}
cc_benchmark {
name: "bionic-benchmarks-static",
defaults: ["bionic-benchmarks-defaults"],
data: ["suites/*"],
static_libs: [
"liblog",
"libsystemproperties",
"libasync_safe",
],
include_dirs: ["bionic/libc"],
static_executable: true,
}
// Build benchmarks for the host (against glibc!). Run with:
cc_benchmark_host {
name: "bionic-benchmarks-glibc",
defaults: ["bionic-benchmarks-defaults"],
srcs: [
"dlfcn_benchmark.cpp",
],
target: {
darwin: {
// Only supported on linux systems.
enabled: false,
},
},
data: ["suites/*"],
}
cc_library_static {
name: "libBionicBenchmarksUtils",
defaults: ["bionic-benchmarks-extras-defaults"],
srcs: ["util.cpp"],
host_supported: true,
}
cc_test {
name: "bionic-benchmarks-tests",
isolated: true,
defaults: ["bionic-benchmarks-extras-defaults"],
srcs: [
"tests/benchmark_test.cpp",
"tests/interface_test.cpp",
],
static_libs: [
"libbase",
"libBionicBenchmarksUtils",
],
data: [
"test_suites/*",
"suites/*",
":bionic-benchmarks",
],
test_suites: ["device-tests"],
require_root: true,
}
cc_binary {
name: "malloc-rss-benchmark",
srcs: [
"malloc_rss_benchmark.cpp",
],
shared_libs: [
"libbase",
],
target: {
android: {
static_libs: [
"libmeminfo",
"libprocinfo",
],
},
},
}