// // 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_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_mmap_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", ], }, }, }