blob: f3f8207a0ddf8219566af86ff3b88072a61f9f1a [file] [log] [blame]
// Copyright (C) 2022 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_applicable_licenses: ["Android-Apache-2.0"],
}
cc_defaults {
name: "evsmanagerd_defaults",
defaults: ["android.hardware.graphics.common-ndk_static"],
shared_libs: [
"android.hardware.automotive.evs@1.0",
"android.hardware.automotive.evs@1.1",
"libbase",
"libbinder_ndk",
"libcamera_metadata",
"libhardware",
"libhidlbase",
"liblog",
"libprocessgroup",
"libstatslog_evsmanagerd",
"libutils",
],
static_libs: [
"android.hardware.automotive.evs-V1-ndk",
"android.hardware.common-V2-ndk",
"libaidlcommonsupport",
"libc++fs",
"libcutils",
],
header_libs: [
"libarect_headers",
"libui_headers",
],
cflags: [
"-DGL_GLEXT_PROTOTYPES",
"-DEGL_EGLEXT_PROTOTYPES",
"-D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS",
"-Wall",
"-Werror",
"-Wunused",
"-Wunreachable-code",
"-Wthread-safety",
],
export_include_dirs: [
"include",
],
local_include_dirs: [
"include",
"stats/include",
"wrappers/include",
],
product_variables: {
debuggable: {
cflags: [
"-DEVS_DEBUG",
]
},
},
}
filegroup {
name: "evsmanagerd_sources",
srcs: [
"wrappers/src/HidlCameraStream.cpp",
"wrappers/src/AidlDisplay.cpp",
"wrappers/src/AidlCamera.cpp",
"wrappers/src/HidlEnumerator.cpp",
"wrappers/src/AidlCameraStream.cpp",
"wrappers/src/AidlEnumerator.cpp",
"wrappers/src/HidlDisplay.cpp",
"wrappers/src/HidlCamera.cpp",
"stats/src/CameraUsageStats.cpp",
"stats/src/StatsCollector.cpp",
"stats/src/LooperWrapper.cpp",
"utils/src/Utils.cpp",
"src/HalDisplay.cpp",
"src/VirtualCamera.cpp",
"src/Enumerator.cpp",
"src/HalCamera.cpp",
],
}
cc_library_static {
name : "libevsmanagerd",
defaults : ["evsmanagerd_defaults"],
srcs : [":evsmanagerd_sources"],
export_include_dirs : ["."],
}
cc_binary {
name: "evsmanagerd",
defaults: ["evsmanagerd_defaults"],
static_libs: ["libevsmanagerd"],
srcs: ["src/service.cpp"],
init_rc: ["evsmanagerd.rc"],
vintf_fragments: ["manifest_evsmanagerd.xml"],
}
cc_fuzz {
name: "evs_enumerator_fuzzer",
defaults: [
"evsmanagerd_defaults",
"service_fuzzer_defaults",
],
static_libs: [
"liblog",
],
srcs: [
":evsmanagerd_sources",
"src/EnumeratorFuzzer.cpp",
],
fuzz_config: {
cc: [
"keithmok@google.com",
],
},
}
cc_test {
name: "evsmanagerd_test",
defaults: ["evsmanagerd_defaults"],
test_suites: [
"general-tests",
"automotive-tests",
],
srcs: [
":evsmanagerd_sources",
"tests/**/*.cpp"
],
local_include_dirs: ["tests/include"],
shared_libs: [
"libcamera_client",
"libnativewindow",
],
static_libs: [
"libgmock",
"libgtest",
"libevsmanagerd",
],
}
cc_test_library {
name: "libmockevshal",
defaults: ["android.hardware.graphics.common-ndk_static"],
local_include_dirs: [
"include",
"tests/include"
],
export_include_dirs: ["tests/include"],
srcs: ["tests/src/MockEvsHal.cpp"],
shared_libs: [
"libbase",
"libbinder_ndk",
"libcamera_client",
"libcamera_metadata",
"libcutils",
"libnativewindow",
"libui",
"libutils",
],
static_libs: [
"android.hardware.automotive.evs-V1-ndk",
"android.hardware.common-V2-ndk",
"libaidlcommonsupport",
"libgmock",
"libgtest",
],
cflags: ["-DLOG_TAG=\"MockEVS\""],
}
cc_library {
name: "libstatslog_evsmanagerd",
generated_sources: ["statslog_evsmanagerd.cpp"],
generated_headers: ["statslog_evsmanagerd.h"],
export_generated_headers: ["statslog_evsmanagerd.h"],
min_sdk_version: "30",
shared_libs: [
"libbinder",
"libstatsbootstrap",
"libutils",
"android.os.statsbootstrap_aidl-cpp",
],
}
genrule {
name: "statslog_evsmanagerd.h",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_evsmanagerd.h --module evs" +
" --namespace aidl,android,automotive,evs,stats --bootstrap",
out: [
"statslog_evsmanagerd.h",
],
}
genrule {
name: "statslog_evsmanagerd.cpp",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_evsmanagerd.cpp --module evs" +
" --namespace aidl,android,automotive,evs,stats --importHeader statslog_evsmanagerd.h" +
" --bootstrap",
out: [
"statslog_evsmanagerd.cpp",
],
}