1*9190c2a8SAndroid Build Coastguard Worker// Copyright (C) 2020 The Android Open Source Project 2*9190c2a8SAndroid Build Coastguard Worker// 3*9190c2a8SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*9190c2a8SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*9190c2a8SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*9190c2a8SAndroid Build Coastguard Worker// 7*9190c2a8SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*9190c2a8SAndroid Build Coastguard Worker// 9*9190c2a8SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*9190c2a8SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*9190c2a8SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9190c2a8SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*9190c2a8SAndroid Build Coastguard Worker// limitations under the License. 14*9190c2a8SAndroid Build Coastguard Worker 15*9190c2a8SAndroid Build Coastguard Workerpackage { 16*9190c2a8SAndroid Build Coastguard Worker default_team: "trendy_team_android_resources", 17*9190c2a8SAndroid Build Coastguard Worker default_applicable_licenses: ["system_incremental_delivery_incfs_license"], 18*9190c2a8SAndroid Build Coastguard Worker} 19*9190c2a8SAndroid Build Coastguard Worker 20*9190c2a8SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 21*9190c2a8SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 22*9190c2a8SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 23*9190c2a8SAndroid Build Coastguard Worker// 24*9190c2a8SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 25*9190c2a8SAndroid Build Coastguard Worker// 26*9190c2a8SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 27*9190c2a8SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 28*9190c2a8SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 29*9190c2a8SAndroid Build Coastguard Worker// 30*9190c2a8SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 31*9190c2a8SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 32*9190c2a8SAndroid Build Coastguard Worker// used in the current project. 33*9190c2a8SAndroid Build Coastguard Worker// See: http://go/android-license-faq 34*9190c2a8SAndroid Build Coastguard Workerlicense { 35*9190c2a8SAndroid Build Coastguard Worker name: "system_incremental_delivery_incfs_license", 36*9190c2a8SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 37*9190c2a8SAndroid Build Coastguard Worker license_kinds: [ 38*9190c2a8SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 39*9190c2a8SAndroid Build Coastguard Worker ], 40*9190c2a8SAndroid Build Coastguard Worker license_text: [ 41*9190c2a8SAndroid Build Coastguard Worker "NOTICE", 42*9190c2a8SAndroid Build Coastguard Worker ], 43*9190c2a8SAndroid Build Coastguard Worker} 44*9190c2a8SAndroid Build Coastguard Worker 45*9190c2a8SAndroid Build Coastguard Workercc_defaults { 46*9190c2a8SAndroid Build Coastguard Worker name: "libincfs_defaults_common", 47*9190c2a8SAndroid Build Coastguard Worker cpp_std: "c++2a", 48*9190c2a8SAndroid Build Coastguard Worker cflags: [ 49*9190c2a8SAndroid Build Coastguard Worker "-Werror", 50*9190c2a8SAndroid Build Coastguard Worker "-Wall", 51*9190c2a8SAndroid Build Coastguard Worker "-Wextra", 52*9190c2a8SAndroid Build Coastguard Worker "-Wno-deprecated-enum-enum-conversion", 53*9190c2a8SAndroid Build Coastguard Worker "-D_FILE_OFFSET_BITS=64", 54*9190c2a8SAndroid Build Coastguard Worker ], 55*9190c2a8SAndroid Build Coastguard Worker tidy: true, 56*9190c2a8SAndroid Build Coastguard Worker tidy_checks: [ 57*9190c2a8SAndroid Build Coastguard Worker "android-*", 58*9190c2a8SAndroid Build Coastguard Worker "cert-*", 59*9190c2a8SAndroid Build Coastguard Worker "clang-analyzer-security*", 60*9190c2a8SAndroid Build Coastguard Worker "-cert-err34-c", 61*9190c2a8SAndroid Build Coastguard Worker "clang-analyzer-security*", 62*9190c2a8SAndroid Build Coastguard Worker // Disabling due to many unavoidable warnings from POSIX API usage. 63*9190c2a8SAndroid Build Coastguard Worker "-google-runtime-int", 64*9190c2a8SAndroid Build Coastguard Worker "-google-explicit-constructor", 65*9190c2a8SAndroid Build Coastguard Worker // operator=() does not handle self-assignment properly - all protobuf-generated classes 66*9190c2a8SAndroid Build Coastguard Worker "-cert-oop54-cpp", 67*9190c2a8SAndroid Build Coastguard Worker ], 68*9190c2a8SAndroid Build Coastguard Worker target: { 69*9190c2a8SAndroid Build Coastguard Worker linux_bionic: { 70*9190c2a8SAndroid Build Coastguard Worker enabled: true, 71*9190c2a8SAndroid Build Coastguard Worker }, 72*9190c2a8SAndroid Build Coastguard Worker }, 73*9190c2a8SAndroid Build Coastguard Worker} 74*9190c2a8SAndroid Build Coastguard Worker 75*9190c2a8SAndroid Build Coastguard Workercc_defaults { 76*9190c2a8SAndroid Build Coastguard Worker name: "libincfs_defaults", 77*9190c2a8SAndroid Build Coastguard Worker defaults: [ 78*9190c2a8SAndroid Build Coastguard Worker "libincfs_defaults_common", 79*9190c2a8SAndroid Build Coastguard Worker "linux_bionic_supported", 80*9190c2a8SAndroid Build Coastguard Worker ], 81*9190c2a8SAndroid Build Coastguard Worker header_libs: ["libincfs_headers"], 82*9190c2a8SAndroid Build Coastguard Worker export_header_lib_headers: ["libincfs_headers"], 83*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 84*9190c2a8SAndroid Build Coastguard Worker "libbase", 85*9190c2a8SAndroid Build Coastguard Worker ], 86*9190c2a8SAndroid Build Coastguard Worker shared_libs: [ 87*9190c2a8SAndroid Build Coastguard Worker "libcrypto", 88*9190c2a8SAndroid Build Coastguard Worker "liblog", 89*9190c2a8SAndroid Build Coastguard Worker "libselinux", 90*9190c2a8SAndroid Build Coastguard Worker ], 91*9190c2a8SAndroid Build Coastguard Worker target: { 92*9190c2a8SAndroid Build Coastguard Worker android: { 93*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 94*9190c2a8SAndroid Build Coastguard Worker "libcom.android.sysprop.incremental", 95*9190c2a8SAndroid Build Coastguard Worker ], 96*9190c2a8SAndroid Build Coastguard Worker }, 97*9190c2a8SAndroid Build Coastguard Worker }, 98*9190c2a8SAndroid Build Coastguard Worker} 99*9190c2a8SAndroid Build Coastguard Worker 100*9190c2a8SAndroid Build Coastguard Workercc_library { 101*9190c2a8SAndroid Build Coastguard Worker name: "libincfs", 102*9190c2a8SAndroid Build Coastguard Worker defaults: ["libincfs_defaults"], 103*9190c2a8SAndroid Build Coastguard Worker srcs: [ 104*9190c2a8SAndroid Build Coastguard Worker "incfs_ndk.c", 105*9190c2a8SAndroid Build Coastguard Worker "incfs.cpp", 106*9190c2a8SAndroid Build Coastguard Worker "MountRegistry.cpp", 107*9190c2a8SAndroid Build Coastguard Worker "path.cpp", 108*9190c2a8SAndroid Build Coastguard Worker ], 109*9190c2a8SAndroid Build Coastguard Worker} 110*9190c2a8SAndroid Build Coastguard Worker 111*9190c2a8SAndroid Build Coastguard Workercc_library_static { 112*9190c2a8SAndroid Build Coastguard Worker name: "libincfs-utils", 113*9190c2a8SAndroid Build Coastguard Worker defaults: ["libincfs_defaults_common"], 114*9190c2a8SAndroid Build Coastguard Worker local_include_dirs: ["util/include"], 115*9190c2a8SAndroid Build Coastguard Worker export_include_dirs: ["util/include"], 116*9190c2a8SAndroid Build Coastguard Worker host_supported: true, 117*9190c2a8SAndroid Build Coastguard Worker srcs: [ 118*9190c2a8SAndroid Build Coastguard Worker "util/map_ptr.cpp", 119*9190c2a8SAndroid Build Coastguard Worker ], 120*9190c2a8SAndroid Build Coastguard Worker target: { 121*9190c2a8SAndroid Build Coastguard Worker android: { 122*9190c2a8SAndroid Build Coastguard Worker header_libs: ["libincfs_headers"], 123*9190c2a8SAndroid Build Coastguard Worker shared_libs: [ 124*9190c2a8SAndroid Build Coastguard Worker "libbase", 125*9190c2a8SAndroid Build Coastguard Worker "libincfs", 126*9190c2a8SAndroid Build Coastguard Worker "libutils", 127*9190c2a8SAndroid Build Coastguard Worker ], 128*9190c2a8SAndroid Build Coastguard Worker }, 129*9190c2a8SAndroid Build Coastguard Worker host: { 130*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 131*9190c2a8SAndroid Build Coastguard Worker "libbase", 132*9190c2a8SAndroid Build Coastguard Worker "libutils", 133*9190c2a8SAndroid Build Coastguard Worker ], 134*9190c2a8SAndroid Build Coastguard Worker }, 135*9190c2a8SAndroid Build Coastguard Worker windows: { 136*9190c2a8SAndroid Build Coastguard Worker enabled: true, 137*9190c2a8SAndroid Build Coastguard Worker }, 138*9190c2a8SAndroid Build Coastguard Worker }, 139*9190c2a8SAndroid Build Coastguard Worker} 140*9190c2a8SAndroid Build Coastguard Worker 141*9190c2a8SAndroid Build Coastguard Workercc_library_headers { 142*9190c2a8SAndroid Build Coastguard Worker name: "libincfs_headers", 143*9190c2a8SAndroid Build Coastguard Worker export_include_dirs: [ 144*9190c2a8SAndroid Build Coastguard Worker "include/", 145*9190c2a8SAndroid Build Coastguard Worker "kernel-headers", 146*9190c2a8SAndroid Build Coastguard Worker ], 147*9190c2a8SAndroid Build Coastguard Worker host_supported: true, 148*9190c2a8SAndroid Build Coastguard Worker target: { 149*9190c2a8SAndroid Build Coastguard Worker linux_bionic: { 150*9190c2a8SAndroid Build Coastguard Worker enabled: true, 151*9190c2a8SAndroid Build Coastguard Worker }, 152*9190c2a8SAndroid Build Coastguard Worker }, 153*9190c2a8SAndroid Build Coastguard Worker} 154*9190c2a8SAndroid Build Coastguard Worker 155*9190c2a8SAndroid Build Coastguard Workercc_test { 156*9190c2a8SAndroid Build Coastguard Worker name: "libincfs-test", 157*9190c2a8SAndroid Build Coastguard Worker defaults: ["libincfs_defaults"], 158*9190c2a8SAndroid Build Coastguard Worker local_include_dirs: ["tests/include"], 159*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 160*9190c2a8SAndroid Build Coastguard Worker "libincfs", 161*9190c2a8SAndroid Build Coastguard Worker "libincfs-utils", 162*9190c2a8SAndroid Build Coastguard Worker ], 163*9190c2a8SAndroid Build Coastguard Worker shared_libs: [ 164*9190c2a8SAndroid Build Coastguard Worker "libbase", 165*9190c2a8SAndroid Build Coastguard Worker "libutils", 166*9190c2a8SAndroid Build Coastguard Worker ], 167*9190c2a8SAndroid Build Coastguard Worker srcs: [ 168*9190c2a8SAndroid Build Coastguard Worker "tests/util/map_ptr_test.cpp", 169*9190c2a8SAndroid Build Coastguard Worker "tests/incfs_test.cpp", 170*9190c2a8SAndroid Build Coastguard Worker "tests/MountRegistry_test.cpp", 171*9190c2a8SAndroid Build Coastguard Worker ], 172*9190c2a8SAndroid Build Coastguard Worker require_root: true, 173*9190c2a8SAndroid Build Coastguard Worker test_suites: [ 174*9190c2a8SAndroid Build Coastguard Worker "general-tests", 175*9190c2a8SAndroid Build Coastguard Worker "device-tests", 176*9190c2a8SAndroid Build Coastguard Worker ], 177*9190c2a8SAndroid Build Coastguard Worker} 178*9190c2a8SAndroid Build Coastguard Worker 179*9190c2a8SAndroid Build Coastguard Workercc_benchmark { 180*9190c2a8SAndroid Build Coastguard Worker name: "hardening-benchmark", 181*9190c2a8SAndroid Build Coastguard Worker defaults: ["libincfs_defaults"], 182*9190c2a8SAndroid Build Coastguard Worker 183*9190c2a8SAndroid Build Coastguard Worker srcs: [ 184*9190c2a8SAndroid Build Coastguard Worker "tests/hardening_benchmark.cpp", 185*9190c2a8SAndroid Build Coastguard Worker ], 186*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 187*9190c2a8SAndroid Build Coastguard Worker "libziparchive_for_incfs", 188*9190c2a8SAndroid Build Coastguard Worker "libutils", 189*9190c2a8SAndroid Build Coastguard Worker "libincfs", 190*9190c2a8SAndroid Build Coastguard Worker "libincfs-utils", 191*9190c2a8SAndroid Build Coastguard Worker ], 192*9190c2a8SAndroid Build Coastguard Worker} 193*9190c2a8SAndroid Build Coastguard Worker 194*9190c2a8SAndroid Build Coastguard Workercc_binary { 195*9190c2a8SAndroid Build Coastguard Worker name: "incfsdump", 196*9190c2a8SAndroid Build Coastguard Worker defaults: ["libincfs_defaults"], 197*9190c2a8SAndroid Build Coastguard Worker host_supported: true, 198*9190c2a8SAndroid Build Coastguard Worker static_libs: [ 199*9190c2a8SAndroid Build Coastguard Worker "libbase", 200*9190c2a8SAndroid Build Coastguard Worker ], 201*9190c2a8SAndroid Build Coastguard Worker srcs: [ 202*9190c2a8SAndroid Build Coastguard Worker "incfsdump/main.cpp", 203*9190c2a8SAndroid Build Coastguard Worker "incfsdump/dump.cpp", 204*9190c2a8SAndroid Build Coastguard Worker ], 205*9190c2a8SAndroid Build Coastguard Worker target: { 206*9190c2a8SAndroid Build Coastguard Worker linux_glibc: { 207*9190c2a8SAndroid Build Coastguard Worker enabled: true, 208*9190c2a8SAndroid Build Coastguard Worker }, 209*9190c2a8SAndroid Build Coastguard Worker }, 210*9190c2a8SAndroid Build Coastguard Worker} 211