1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project 2*d57664e9SAndroid Build Coastguard Worker// 3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d57664e9SAndroid Build Coastguard Worker// 7*d57664e9SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d57664e9SAndroid Build Coastguard Worker// 9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d57664e9SAndroid Build Coastguard Worker// limitations under the License. 14*d57664e9SAndroid Build Coastguard Worker 15*d57664e9SAndroid Build Coastguard Worker// ========= 16*d57664e9SAndroid Build Coastguard Worker// incidentd 17*d57664e9SAndroid Build Coastguard Worker// ========= 18*d57664e9SAndroid Build Coastguard Worker 19*d57664e9SAndroid Build Coastguard Workerpackage { 20*d57664e9SAndroid Build Coastguard Worker // See: http://go/android-license-faq 21*d57664e9SAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 22*d57664e9SAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_base_license" 23*d57664e9SAndroid Build Coastguard Worker // to get the below license kinds: 24*d57664e9SAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 25*d57664e9SAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_base_license"], 26*d57664e9SAndroid Build Coastguard Worker} 27*d57664e9SAndroid Build Coastguard Worker 28*d57664e9SAndroid Build Coastguard Workercc_binary { 29*d57664e9SAndroid Build Coastguard Worker name: "incidentd", 30*d57664e9SAndroid Build Coastguard Worker 31*d57664e9SAndroid Build Coastguard Worker srcs: [ 32*d57664e9SAndroid Build Coastguard Worker "src/**/*.cpp", 33*d57664e9SAndroid Build Coastguard Worker "src/**/*.proto", 34*d57664e9SAndroid Build Coastguard Worker ":incidentd_section_list", 35*d57664e9SAndroid Build Coastguard Worker ], 36*d57664e9SAndroid Build Coastguard Worker 37*d57664e9SAndroid Build Coastguard Worker cflags: [ 38*d57664e9SAndroid Build Coastguard Worker "-Wall", 39*d57664e9SAndroid Build Coastguard Worker "-Werror", 40*d57664e9SAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 41*d57664e9SAndroid Build Coastguard Worker "-Wno-unused-variable", 42*d57664e9SAndroid Build Coastguard Worker "-Wunused-parameter", 43*d57664e9SAndroid Build Coastguard Worker "-Wno-tautological-undefined-compare", 44*d57664e9SAndroid Build Coastguard Worker 45*d57664e9SAndroid Build Coastguard Worker // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed. 46*d57664e9SAndroid Build Coastguard Worker "-Wno-error=implicit-fallthrough", 47*d57664e9SAndroid Build Coastguard Worker 48*d57664e9SAndroid Build Coastguard Worker // optimize for size (protobuf glop can get big) 49*d57664e9SAndroid Build Coastguard Worker "-Os", 50*d57664e9SAndroid Build Coastguard Worker //"-g", 51*d57664e9SAndroid Build Coastguard Worker //"-O0", 52*d57664e9SAndroid Build Coastguard Worker ], 53*d57664e9SAndroid Build Coastguard Worker 54*d57664e9SAndroid Build Coastguard Worker local_include_dirs: ["src"], 55*d57664e9SAndroid Build Coastguard Worker generated_headers: ["framework-cppstream-protos"], 56*d57664e9SAndroid Build Coastguard Worker 57*d57664e9SAndroid Build Coastguard Worker proto: { 58*d57664e9SAndroid Build Coastguard Worker type: "lite", 59*d57664e9SAndroid Build Coastguard Worker }, 60*d57664e9SAndroid Build Coastguard Worker 61*d57664e9SAndroid Build Coastguard Worker shared_libs: [ 62*d57664e9SAndroid Build Coastguard Worker "libbase", 63*d57664e9SAndroid Build Coastguard Worker "libbinder", 64*d57664e9SAndroid Build Coastguard Worker "libdebuggerd_client", 65*d57664e9SAndroid Build Coastguard Worker "libdumputils", 66*d57664e9SAndroid Build Coastguard Worker "libincidentpriv", 67*d57664e9SAndroid Build Coastguard Worker "liblog", 68*d57664e9SAndroid Build Coastguard Worker "libprotoutil", 69*d57664e9SAndroid Build Coastguard Worker "libservices", 70*d57664e9SAndroid Build Coastguard Worker "libutils", 71*d57664e9SAndroid Build Coastguard Worker "libprotobuf-cpp-lite", 72*d57664e9SAndroid Build Coastguard Worker ], 73*d57664e9SAndroid Build Coastguard Worker 74*d57664e9SAndroid Build Coastguard Worker static_libs: [ 75*d57664e9SAndroid Build Coastguard Worker "libincidentcompanion", 76*d57664e9SAndroid Build Coastguard Worker "libplatformprotos", 77*d57664e9SAndroid Build Coastguard Worker ], 78*d57664e9SAndroid Build Coastguard Worker 79*d57664e9SAndroid Build Coastguard Worker product_variables: { 80*d57664e9SAndroid Build Coastguard Worker debuggable: { 81*d57664e9SAndroid Build Coastguard Worker cflags: ["-DALLOW_RESTRICTED_SECTIONS=1"], 82*d57664e9SAndroid Build Coastguard Worker }, 83*d57664e9SAndroid Build Coastguard Worker }, 84*d57664e9SAndroid Build Coastguard Worker 85*d57664e9SAndroid Build Coastguard Worker init_rc: ["incidentd.rc"], 86*d57664e9SAndroid Build Coastguard Worker} 87*d57664e9SAndroid Build Coastguard Worker 88*d57664e9SAndroid Build Coastguard Workercc_defaults { 89*d57664e9SAndroid Build Coastguard Worker name: "incidentd_test_defaults", 90*d57664e9SAndroid Build Coastguard Worker 91*d57664e9SAndroid Build Coastguard Worker cflags: [ 92*d57664e9SAndroid Build Coastguard Worker "-Werror", 93*d57664e9SAndroid Build Coastguard Worker "-Wall", 94*d57664e9SAndroid Build Coastguard Worker "-Wno-unused-variable", 95*d57664e9SAndroid Build Coastguard Worker "-Wunused-parameter", 96*d57664e9SAndroid Build Coastguard Worker "-g", 97*d57664e9SAndroid Build Coastguard Worker "-Wno-tautological-undefined-compare", 98*d57664e9SAndroid Build Coastguard Worker 99*d57664e9SAndroid Build Coastguard Worker // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed. 100*d57664e9SAndroid Build Coastguard Worker "-Wno-error=implicit-fallthrough", 101*d57664e9SAndroid Build Coastguard Worker ], 102*d57664e9SAndroid Build Coastguard Worker 103*d57664e9SAndroid Build Coastguard Worker local_include_dirs: ["src"], 104*d57664e9SAndroid Build Coastguard Worker generated_headers: ["framework-cppstream-protos"], 105*d57664e9SAndroid Build Coastguard Worker 106*d57664e9SAndroid Build Coastguard Worker srcs: [ 107*d57664e9SAndroid Build Coastguard Worker "src/FdBuffer.cpp", 108*d57664e9SAndroid Build Coastguard Worker "src/Privacy.cpp", 109*d57664e9SAndroid Build Coastguard Worker "src/PrivacyFilter.cpp", 110*d57664e9SAndroid Build Coastguard Worker "src/Reporter.cpp", 111*d57664e9SAndroid Build Coastguard Worker "src/Section.cpp", 112*d57664e9SAndroid Build Coastguard Worker "src/Throttler.cpp", 113*d57664e9SAndroid Build Coastguard Worker "src/WorkDirectory.cpp", 114*d57664e9SAndroid Build Coastguard Worker "src/incidentd_util.cpp", 115*d57664e9SAndroid Build Coastguard Worker "src/proto_util.cpp", 116*d57664e9SAndroid Build Coastguard Worker "src/report_directory.cpp", 117*d57664e9SAndroid Build Coastguard Worker "src/**/*.proto", 118*d57664e9SAndroid Build Coastguard Worker ], 119*d57664e9SAndroid Build Coastguard Worker 120*d57664e9SAndroid Build Coastguard Worker static_libs: [ 121*d57664e9SAndroid Build Coastguard Worker "libincidentcompanion", 122*d57664e9SAndroid Build Coastguard Worker "libplatformprotos-test", 123*d57664e9SAndroid Build Coastguard Worker ], 124*d57664e9SAndroid Build Coastguard Worker 125*d57664e9SAndroid Build Coastguard Worker shared_libs: [ 126*d57664e9SAndroid Build Coastguard Worker "libbase", 127*d57664e9SAndroid Build Coastguard Worker "libbinder", 128*d57664e9SAndroid Build Coastguard Worker "libdebuggerd_client", 129*d57664e9SAndroid Build Coastguard Worker "libdumputils", 130*d57664e9SAndroid Build Coastguard Worker "libincidentpriv", 131*d57664e9SAndroid Build Coastguard Worker "liblog", 132*d57664e9SAndroid Build Coastguard Worker "libprotobuf-cpp-full", 133*d57664e9SAndroid Build Coastguard Worker "libprotoutil", 134*d57664e9SAndroid Build Coastguard Worker "libservices", 135*d57664e9SAndroid Build Coastguard Worker "libutils", 136*d57664e9SAndroid Build Coastguard Worker ], 137*d57664e9SAndroid Build Coastguard Worker} 138*d57664e9SAndroid Build Coastguard Worker 139*d57664e9SAndroid Build Coastguard Worker// ============== 140*d57664e9SAndroid Build Coastguard Worker// incidentd_test 141*d57664e9SAndroid Build Coastguard Worker// ============== 142*d57664e9SAndroid Build Coastguard Workercc_test { 143*d57664e9SAndroid Build Coastguard Worker name: "incidentd_test", 144*d57664e9SAndroid Build Coastguard Worker 145*d57664e9SAndroid Build Coastguard Worker defaults: [ 146*d57664e9SAndroid Build Coastguard Worker "incidentd_test_defaults", 147*d57664e9SAndroid Build Coastguard Worker ], 148*d57664e9SAndroid Build Coastguard Worker 149*d57664e9SAndroid Build Coastguard Worker test_suites: ["device-tests"], 150*d57664e9SAndroid Build Coastguard Worker 151*d57664e9SAndroid Build Coastguard Worker srcs: [ 152*d57664e9SAndroid Build Coastguard Worker "tests/**/*.cpp", 153*d57664e9SAndroid Build Coastguard Worker "tests/**/*.proto", 154*d57664e9SAndroid Build Coastguard Worker ], 155*d57664e9SAndroid Build Coastguard Worker 156*d57664e9SAndroid Build Coastguard Worker data: ["testdata/**/*"], 157*d57664e9SAndroid Build Coastguard Worker 158*d57664e9SAndroid Build Coastguard Worker static_libs: [ 159*d57664e9SAndroid Build Coastguard Worker "libgmock", 160*d57664e9SAndroid Build Coastguard Worker ], 161*d57664e9SAndroid Build Coastguard Worker 162*d57664e9SAndroid Build Coastguard Worker target: { 163*d57664e9SAndroid Build Coastguard Worker android: { 164*d57664e9SAndroid Build Coastguard Worker proto: { 165*d57664e9SAndroid Build Coastguard Worker type: "full", 166*d57664e9SAndroid Build Coastguard Worker }, 167*d57664e9SAndroid Build Coastguard Worker }, 168*d57664e9SAndroid Build Coastguard Worker }, 169*d57664e9SAndroid Build Coastguard Worker} 170*d57664e9SAndroid Build Coastguard Worker 171*d57664e9SAndroid Build Coastguard Workergenrule { 172*d57664e9SAndroid Build Coastguard Worker name: "incidentd_section_list", 173*d57664e9SAndroid Build Coastguard Worker tools: ["incident-section-gen"], 174*d57664e9SAndroid Build Coastguard Worker out: ["section_list.cpp"], 175*d57664e9SAndroid Build Coastguard Worker cmd: "$(location incident-section-gen) incidentd > $(out)", 176*d57664e9SAndroid Build Coastguard Worker} 177*d57664e9SAndroid Build Coastguard Worker 178*d57664e9SAndroid Build Coastguard Workercc_fuzz { 179*d57664e9SAndroid Build Coastguard Worker name: "incidentd_service_fuzzer", 180*d57664e9SAndroid Build Coastguard Worker defaults: [ 181*d57664e9SAndroid Build Coastguard Worker "service_fuzzer_defaults", 182*d57664e9SAndroid Build Coastguard Worker "fuzzer_disable_leaks", 183*d57664e9SAndroid Build Coastguard Worker "incidentd_test_defaults", 184*d57664e9SAndroid Build Coastguard Worker ], 185*d57664e9SAndroid Build Coastguard Worker 186*d57664e9SAndroid Build Coastguard Worker fuzz_config: { 187*d57664e9SAndroid Build Coastguard Worker cc: [ 188*d57664e9SAndroid Build Coastguard Worker "[email protected]", 189*d57664e9SAndroid Build Coastguard Worker "[email protected]", 190*d57664e9SAndroid Build Coastguard Worker ], 191*d57664e9SAndroid Build Coastguard Worker triage_assignee: "[email protected]", 192*d57664e9SAndroid Build Coastguard Worker }, 193*d57664e9SAndroid Build Coastguard Worker 194*d57664e9SAndroid Build Coastguard Worker srcs: [ 195*d57664e9SAndroid Build Coastguard Worker "fuzzers/IncidentServiceFuzzer.cpp", 196*d57664e9SAndroid Build Coastguard Worker "src/IncidentService.cpp", 197*d57664e9SAndroid Build Coastguard Worker "src/Broadcaster.cpp", 198*d57664e9SAndroid Build Coastguard Worker ":incidentd_section_list", 199*d57664e9SAndroid Build Coastguard Worker ], 200*d57664e9SAndroid Build Coastguard Worker} 201