1 // 2 // Copyright (C) 2013 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 cc_defaults { 18 name: "bionic-benchmarks-defaults", 19 cflags: [ 20 "-O2", 21 "-fno-builtin", 22 "-Wall", 23 "-Wextra", 24 "-Werror", 25 "-Wno-gcc-compat", 26 "-Wunused", 27 ], 28 srcs: [ 29 "bionic_benchmarks.cpp", 30 "atomic_benchmark.cpp", 31 "get_heap_size_benchmark.cpp", 32 "inttypes_benchmark.cpp", 33 "malloc_benchmark.cpp", 34 "math_benchmark.cpp", 35 "property_benchmark.cpp", 36 "pthread_benchmark.cpp", 37 "semaphore_benchmark.cpp", 38 "stdio_benchmark.cpp", 39 "stdlib_benchmark.cpp", 40 "string_benchmark.cpp", 41 "time_benchmark.cpp", 42 "unistd_benchmark.cpp", 43 ], 44 shared_libs: ["liblog"], 45 static_libs: [ 46 "libbase", 47 "libBionicBenchmarksUtils", 48 "libtinyxml2", 49 ], 50 stl: "libc++_static", 51 } 52 53 cc_defaults { 54 name: "bionic-benchmarks-extras-defaults", 55 cflags: [ 56 "-Wall", 57 "-Wextra", 58 "-Werror", 59 "-Wunused", 60 ], 61 } 62 63 // Build benchmarks for the device (with bionic's .so). Run with: 64 // adb shell bionic-benchmarks32 65 // adb shell bionic-benchmarks64 66 cc_benchmark { 67 name: "bionic-benchmarks", 68 defaults: ["bionic-benchmarks-defaults"], 69 data: ["suites/*"], 70 static_libs: [ 71 "libsystemproperties", 72 "libasync_safe", 73 ], 74 include_dirs: ["bionic/libc"], 75 } 76 77 // We don't build a static benchmark executable because it's not usually 78 // useful. If you're trying to run the current benchmarks on an older 79 // release, it's (so far at least) always because you want to measure the 80 // performance of the old release's libc, and a static benchmark isn't 81 // going to let you do that. 82 83 // Build benchmarks for the host (against glibc!). Run with: 84 cc_benchmark_host { 85 name: "bionic-benchmarks-glibc", 86 defaults: ["bionic-benchmarks-defaults"], 87 target: { 88 darwin: { 89 // Only supported on linux systems. 90 enabled: false, 91 }, 92 }, 93 data: ["suites/*"], 94 } 95 96 cc_library_static { 97 name: "libBionicBenchmarksUtils", 98 defaults: ["bionic-benchmarks-extras-defaults"], 99 srcs: ["util.cpp"], 100 host_supported: true, 101 } 102 103 cc_test { 104 name: "bionic-benchmarks-tests", 105 isolated: true, 106 defaults: ["bionic-benchmarks-extras-defaults"], 107 srcs: [ 108 "tests/benchmark_test.cpp", 109 "tests/interface_test.cpp", 110 ], 111 static_libs: [ 112 "libbase", 113 "libBionicBenchmarksUtils", 114 ], 115 data: ["test_suites/*"], 116 } 117