// // 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. // 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", "dlfcn_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", "time_benchmark.cpp", "unistd_benchmark.cpp", "wctype_benchmark.cpp", ], shared_libs: ["liblog"], static_libs: [ "libbase", "libBionicBenchmarksUtils", "libtinyxml2", ], stl: "libc++_static", target: { android: { 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"], data: ["suites/*"], static_libs: [ "libsystemproperties", "libasync_safe", ], include_dirs: ["bionic/libc"], } // We don't build a static benchmark executable because it's not usually // useful. If you're trying to run the current benchmarks on an older // release, it's (so far at least) always because you want to measure the // performance of the old release's libc, and a static benchmark isn't // going to let you do that. // Build benchmarks for the host (against glibc!). Run with: cc_benchmark_host { name: "bionic-benchmarks-glibc", defaults: ["bionic-benchmarks-defaults"], 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/*"], }