blob: bd30404848a39bd24844eec86f35c620d8dfe3fb [file] [log] [blame]
// Copyright (C) 2016 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.
// =========
// incidentd
// =========
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
}
cc_binary {
name: "incidentd",
srcs: [
"src/**/*.cpp",
"src/**/*.proto",
":incidentd_section_list",
],
cflags: [
"-Wall",
"-Werror",
"-Wno-missing-field-initializers",
"-Wno-unused-variable",
"-Wunused-parameter",
"-Wno-tautological-undefined-compare",
// Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
"-Wno-error=implicit-fallthrough",
// optimize for size (protobuf glop can get big)
"-Os",
//"-g",
//"-O0",
],
local_include_dirs: ["src"],
generated_headers: ["framework-cppstream-protos"],
proto: {
type: "lite",
},
shared_libs: [
"libbase",
"libbinder",
"libdebuggerd_client",
"libdumputils",
"libincidentpriv",
"liblog",
"libprotoutil",
"libservices",
"libutils",
"libprotobuf-cpp-lite",
],
static_libs: [
"libincidentcompanion",
"libplatformprotos",
],
product_variables: {
debuggable: {
cflags: ["-DALLOW_RESTRICTED_SECTIONS=1"],
},
},
init_rc: ["incidentd.rc"],
}
cc_defaults {
name: "incidentd_test_defaults",
cflags: [
"-Werror",
"-Wall",
"-Wno-unused-variable",
"-Wunused-parameter",
"-g",
"-Wno-tautological-undefined-compare",
// Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed.
"-Wno-error=implicit-fallthrough",
],
local_include_dirs: ["src"],
generated_headers: ["framework-cppstream-protos"],
srcs: [
"src/FdBuffer.cpp",
"src/Privacy.cpp",
"src/PrivacyFilter.cpp",
"src/Reporter.cpp",
"src/Section.cpp",
"src/Throttler.cpp",
"src/WorkDirectory.cpp",
"src/incidentd_util.cpp",
"src/proto_util.cpp",
"src/report_directory.cpp",
"src/**/*.proto",
],
static_libs: [
"libincidentcompanion",
"libplatformprotos-test",
],
shared_libs: [
"libbase",
"libbinder",
"libdebuggerd_client",
"libdumputils",
"libincidentpriv",
"liblog",
"libprotobuf-cpp-full",
"libprotoutil",
"libservices",
"libutils",
],
}
// ==============
// incidentd_test
// ==============
cc_test {
name: "incidentd_test",
defaults: [
"incidentd_test_defaults",
],
test_suites: ["device-tests"],
srcs: [
"tests/**/*.cpp",
"tests/**/*.proto",
],
data: ["testdata/**/*"],
static_libs: [
"libgmock",
],
target: {
android: {
proto: {
type: "full",
},
},
},
}
genrule {
name: "incidentd_section_list",
tools: ["incident-section-gen"],
out: ["section_list.cpp"],
cmd: "$(location incident-section-gen) incidentd > $(out)",
}
cc_fuzz {
name: "incidentd_service_fuzzer",
defaults: [
"service_fuzzer_defaults",
"fuzzer_disable_leaks",
"incidentd_test_defaults",
],
fuzz_config: {
cc: [
"yaochen@google.com",
"yanmin@google.com",
],
triage_assignee: "waghpawan@google.com",
},
srcs: [
"fuzzers/IncidentServiceFuzzer.cpp",
"src/IncidentService.cpp",
"src/Broadcaster.cpp",
":incidentd_section_list",
],
}