blob: ecce8e8556519a6bae8bceec4a5dff38d878c68d [file] [log] [blame]
//
// 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.
//
cc_benchmark {
name: "bionic-spawn-benchmarks",
srcs: ["spawn_benchmarks.cpp"],
static_libs: ["libbase"],
// Install these binaries in the same directory as the main benchmark binary.
data: [
":bench_noop",
":bench_noop_nostl",
":bench_noop_static",
],
host_supported: true,
target: {
darwin: { enabled: false },
windows: { enabled: false },
linux_glibc_x86: { enabled: false },
},
}
cc_defaults {
name: "noop_binary_defaults",
compile_multilib: "both",
multilib: {
lib32: { suffix: "32" },
lib64: { suffix: "64" },
},
host_supported: true,
target: {
darwin: { enabled: false },
windows: { enabled: false },
linux_glibc_x86: { enabled: false },
},
}
cc_binary {
defaults: ["noop_binary_defaults"],
name: "bench_noop",
srcs: ["noop.cpp"],
// 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 "..".
target: {
linux_glibc_x86_64: {
ldflags: [
"-Wl,--rpath,${ORIGIN}/../../lib64",
],
},
}
}
cc_binary {
defaults: ["noop_binary_defaults"],
name: "bench_noop_nostl",
srcs: ["noop.cpp"],
stl: "none",
}
cc_binary {
defaults: ["noop_binary_defaults"],
name: "bench_noop_static",
srcs: ["noop.cpp"],
static_executable: true,
stl: "libc++_static",
}