1// Copyright (C) 2016 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// ========= 16// incidentd 17// ========= 18 19cc_binary { 20 name: "incidentd", 21 22 srcs: [ 23 "src/**/*.cpp", 24 "src/**/*.proto", 25 ":incidentd_section_list", 26 ], 27 28 cflags: [ 29 "-Wall", 30 "-Werror", 31 "-Wno-missing-field-initializers", 32 "-Wno-unused-variable", 33 "-Wunused-parameter", 34 "-Wno-tautological-undefined-compare", 35 36 // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed. 37 "-Wno-error=implicit-fallthrough", 38 39 // optimize for size (protobuf glop can get big) 40 "-Os", 41 //"-g", 42 //"-O0", 43 ], 44 45 local_include_dirs: ["src"], 46 generated_headers: ["framework-cppstream-protos"], 47 48 proto: { 49 type: "lite", 50 }, 51 52 shared_libs: [ 53 "libbase", 54 "libbinder", 55 "libdebuggerd_client", 56 "libdumputils", 57 "libincidentpriv", 58 "liblog", 59 "libprotoutil", 60 "libservices", 61 "libutils", 62 "libprotobuf-cpp-lite", 63 ], 64 65 static_libs: [ 66 "libincidentcompanion", 67 "libplatformprotos", 68 ], 69 70 product_variables: { 71 debuggable: { 72 cflags: ["-DALLOW_RESTRICTED_SECTIONS=1"], 73 }, 74 }, 75 76 77 init_rc: ["incidentd.rc"], 78} 79 80// ============== 81// incidentd_test 82// ============== 83 84cc_test { 85 name: "incidentd_test", 86 test_suites: ["device-tests"], 87 88 cflags: [ 89 "-Werror", 90 "-Wall", 91 "-Wno-unused-variable", 92 "-Wunused-parameter", 93 "-g", 94 "-Wno-tautological-undefined-compare", 95 96 // Allow implicit fallthrough in IncidentService.cpp:85 until it is fixed. 97 "-Wno-error=implicit-fallthrough", 98 ], 99 100 local_include_dirs: ["src"], 101 generated_headers: ["framework-cppstream-protos"], 102 103 srcs: [ 104 "tests/**/*.cpp", 105 "tests/**/*.proto", 106 "src/FdBuffer.cpp", 107 "src/Privacy.cpp", 108 "src/PrivacyFilter.cpp", 109 "src/Reporter.cpp", 110 "src/Section.cpp", 111 "src/Throttler.cpp", 112 "src/WorkDirectory.cpp", 113 "src/incidentd_util.cpp", 114 "src/proto_util.cpp", 115 "src/report_directory.cpp", 116 "src/**/*.proto", 117 ], 118 119 data: ["testdata/**/*"], 120 121 static_libs: [ 122 "libgmock", 123 "libincidentcompanion", 124 "libplatformprotos-test", 125 ], 126 shared_libs: [ 127 "libbase", 128 "libbinder", 129 "libdebuggerd_client", 130 "libdumputils", 131 "libincidentpriv", 132 "liblog", 133 "libprotobuf-cpp-full", 134 "libprotoutil", 135 "libservices", 136 "libutils", 137 ], 138 139 target: { 140 android: { 141 proto: { 142 type: "full", 143 }, 144 }, 145 }, 146} 147 148genrule { 149 name: "incidentd_section_list", 150 tools: ["incident-section-gen"], 151 out: ["section_list.cpp"], 152 cmd: "$(location incident-section-gen) incidentd > $(out)", 153} 154