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