You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
3.7 KiB
135 lines
3.7 KiB
//
|
|
// Copyright (C) 2019 The Android Open Source Project
|
|
// All rights reserved.
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without
|
|
// modification, are permitted provided that the following conditions
|
|
// are met:
|
|
// * Redistributions of source code must retain the above copyright
|
|
// notice, this list of conditions and the following disclaimer.
|
|
// * Redistributions in binary form must reproduce the above copyright
|
|
// notice, this list of conditions and the following disclaimer in
|
|
// the documentation and/or other materials provided with the
|
|
// distribution.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
// OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
// AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
// SUCH DAMAGE.
|
|
//
|
|
|
|
package {
|
|
default_applicable_licenses: ["bionic_benchmarks_license"],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "bionic_spawn_benchmark_targets",
|
|
host_supported: true,
|
|
target: {
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
windows: {
|
|
enabled: false,
|
|
},
|
|
linux_glibc_x86: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_library_static {
|
|
name: "libbionic_spawn_benchmark",
|
|
defaults: ["bionic_spawn_benchmark_targets"],
|
|
|
|
srcs: ["spawn_benchmark.cpp"],
|
|
export_include_dirs: ["include"],
|
|
static_libs: [
|
|
"libbase",
|
|
"libgoogle-benchmark",
|
|
"liblog",
|
|
],
|
|
}
|
|
|
|
cc_benchmark {
|
|
name: "bionic-spawn-benchmarks",
|
|
defaults: ["bionic_spawn_benchmark_targets"],
|
|
|
|
srcs: ["spawn_benchmarks.cpp"],
|
|
static_libs: [
|
|
"libbase",
|
|
"libbionic_spawn_benchmark",
|
|
"liblog",
|
|
],
|
|
|
|
// Install these binaries in the same directory as the main benchmark binary.
|
|
data: [
|
|
":bench_cxa_atexit",
|
|
":bench_noop",
|
|
":bench_noop_nostl",
|
|
":bench_noop_static",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "bionic_spawn_benchmark_binary",
|
|
defaults: ["bionic_spawn_benchmark_targets"],
|
|
|
|
compile_multilib: "both",
|
|
multilib: {
|
|
lib32: {
|
|
suffix: "32",
|
|
},
|
|
lib64: {
|
|
suffix: "64",
|
|
},
|
|
},
|
|
|
|
// When this binary is installed to host/linux-x86/bin, its runpath is ${ORIGIN}/../lib64, which
|
|
// is fine for finding host/linux-x86/lib64/libc++.so. When it's installed to
|
|
// host/linux-x86/benchmarktest64/bionic-spawn-benchmarks, the runpath needs an extra "..". This
|
|
// argument has no effect when a static executable is produced.
|
|
target: {
|
|
linux_glibc_x86_64: {
|
|
ldflags: [
|
|
"-Wl,--rpath,${ORIGIN}/../../lib64",
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_binary {
|
|
defaults: ["bionic_spawn_benchmark_binary"],
|
|
name: "bench_cxa_atexit",
|
|
srcs: ["bench_cxa_atexit.cpp"],
|
|
}
|
|
|
|
cc_binary {
|
|
defaults: ["bionic_spawn_benchmark_binary"],
|
|
name: "bench_noop",
|
|
srcs: ["noop.cpp"],
|
|
}
|
|
|
|
cc_binary {
|
|
defaults: ["bionic_spawn_benchmark_binary"],
|
|
name: "bench_noop_nostl",
|
|
srcs: ["noop.cpp"],
|
|
stl: "none",
|
|
}
|
|
|
|
cc_binary {
|
|
defaults: ["bionic_spawn_benchmark_binary"],
|
|
name: "bench_noop_static",
|
|
srcs: ["noop.cpp"],
|
|
static_executable: true,
|
|
stl: "libc++_static",
|
|
}
|