1*33b1fccfSAndroid Build Coastguard Worker// 2*33b1fccfSAndroid Build Coastguard Worker// Copyright (C) 2020 Gao Xiang 3*33b1fccfSAndroid Build Coastguard Worker// 4*33b1fccfSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*33b1fccfSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*33b1fccfSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*33b1fccfSAndroid Build Coastguard Worker// 8*33b1fccfSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*33b1fccfSAndroid Build Coastguard Worker// 10*33b1fccfSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*33b1fccfSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*33b1fccfSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*33b1fccfSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*33b1fccfSAndroid Build Coastguard Worker// limitations under the License. 15*33b1fccfSAndroid Build Coastguard Worker 16*33b1fccfSAndroid Build Coastguard Workerpackage { 17*33b1fccfSAndroid Build Coastguard Worker default_applicable_licenses: ["external_erofs-utils_license"], 18*33b1fccfSAndroid Build Coastguard Worker} 19*33b1fccfSAndroid Build Coastguard Worker 20*33b1fccfSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 21*33b1fccfSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 22*33b1fccfSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 23*33b1fccfSAndroid Build Coastguard Worker// 24*33b1fccfSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 25*33b1fccfSAndroid Build Coastguard Worker// 26*33b1fccfSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 27*33b1fccfSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 28*33b1fccfSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 29*33b1fccfSAndroid Build Coastguard Worker// 30*33b1fccfSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 31*33b1fccfSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 32*33b1fccfSAndroid Build Coastguard Worker// used in the current project. 33*33b1fccfSAndroid Build Coastguard Worker// See: http://go/android-license-faq 34*33b1fccfSAndroid Build Coastguard Workerlicense { 35*33b1fccfSAndroid Build Coastguard Worker name: "external_erofs-utils_license", 36*33b1fccfSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 37*33b1fccfSAndroid Build Coastguard Worker license_kinds: [ 38*33b1fccfSAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 39*33b1fccfSAndroid Build Coastguard Worker "SPDX-license-identifier-GPL-2.0", 40*33b1fccfSAndroid Build Coastguard Worker "SPDX-license-identifier-LGPL", 41*33b1fccfSAndroid Build Coastguard Worker ], 42*33b1fccfSAndroid Build Coastguard Worker license_text: [ 43*33b1fccfSAndroid Build Coastguard Worker "COPYING", 44*33b1fccfSAndroid Build Coastguard Worker ], 45*33b1fccfSAndroid Build Coastguard Worker} 46*33b1fccfSAndroid Build Coastguard Worker 47*33b1fccfSAndroid Build Coastguard Workergenrule { 48*33b1fccfSAndroid Build Coastguard Worker name: "erofs-utils-version.h", 49*33b1fccfSAndroid Build Coastguard Worker srcs: ["VERSION"], 50*33b1fccfSAndroid Build Coastguard Worker out: ["erofs-utils-version.h"], 51*33b1fccfSAndroid Build Coastguard Worker cmd: "sed -n '1p' $(in) | tr -d '\n' | sed 's/\\(.*\\)/#define PACKAGE_VERSION \"\\1\"/' > $(out)", 52*33b1fccfSAndroid Build Coastguard Worker} 53*33b1fccfSAndroid Build Coastguard Worker 54*33b1fccfSAndroid Build Coastguard Workercc_defaults { 55*33b1fccfSAndroid Build Coastguard Worker name: "erofs-utils_export_defaults", 56*33b1fccfSAndroid Build Coastguard Worker 57*33b1fccfSAndroid Build Coastguard Worker cflags: [ 58*33b1fccfSAndroid Build Coastguard Worker "-Wall", 59*33b1fccfSAndroid Build Coastguard Worker "-Werror", 60*33b1fccfSAndroid Build Coastguard Worker "-Wno-error=#warnings", 61*33b1fccfSAndroid Build Coastguard Worker "-Wno-ignored-qualifiers", 62*33b1fccfSAndroid Build Coastguard Worker "-Wno-pointer-arith", 63*33b1fccfSAndroid Build Coastguard Worker "-Wno-unused-parameter", 64*33b1fccfSAndroid Build Coastguard Worker "-Wno-unused-function", 65*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_FALLOCATE", 66*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_LINUX_TYPES_H", 67*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_LIBSELINUX", 68*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_LIBUUID", 69*33b1fccfSAndroid Build Coastguard Worker "-DLZ4_ENABLED", 70*33b1fccfSAndroid Build Coastguard Worker "-DLZ4HC_ENABLED", 71*33b1fccfSAndroid Build Coastguard Worker "-DWITH_ANDROID", 72*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_MEMRCHR", 73*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_SYS_IOCTL_H", 74*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_LLISTXATTR", 75*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_LGETXATTR", 76*33b1fccfSAndroid Build Coastguard Worker "-D_FILE_OFFSET_BITS=64", 77*33b1fccfSAndroid Build Coastguard Worker "-DEROFS_MAX_BLOCK_SIZE=16384", 78*33b1fccfSAndroid Build Coastguard Worker "-DHAVE_UTIMENSAT", 79*33b1fccfSAndroid Build Coastguard Worker ], 80*33b1fccfSAndroid Build Coastguard Worker} 81*33b1fccfSAndroid Build Coastguard Worker 82*33b1fccfSAndroid Build Coastguard Workercc_defaults { 83*33b1fccfSAndroid Build Coastguard Worker name: "erofs-utils_defaults", 84*33b1fccfSAndroid Build Coastguard Worker defaults: ["erofs-utils_export_defaults"], 85*33b1fccfSAndroid Build Coastguard Worker 86*33b1fccfSAndroid Build Coastguard Worker cflags: [ 87*33b1fccfSAndroid Build Coastguard Worker "-include erofs-utils-version.h", 88*33b1fccfSAndroid Build Coastguard Worker ], 89*33b1fccfSAndroid Build Coastguard Worker local_include_dirs: [ 90*33b1fccfSAndroid Build Coastguard Worker "include", 91*33b1fccfSAndroid Build Coastguard Worker ], 92*33b1fccfSAndroid Build Coastguard Worker include_dirs: [ 93*33b1fccfSAndroid Build Coastguard Worker "external/e2fsprogs/lib/", 94*33b1fccfSAndroid Build Coastguard Worker ], 95*33b1fccfSAndroid Build Coastguard Worker generated_headers: ["erofs-utils-version.h"], 96*33b1fccfSAndroid Build Coastguard Worker target: { 97*33b1fccfSAndroid Build Coastguard Worker android: { 98*33b1fccfSAndroid Build Coastguard Worker shared_libs: [ 99*33b1fccfSAndroid Build Coastguard Worker "libbase", 100*33b1fccfSAndroid Build Coastguard Worker "libcutils", 101*33b1fccfSAndroid Build Coastguard Worker "libext2_uuid", 102*33b1fccfSAndroid Build Coastguard Worker "liblog", 103*33b1fccfSAndroid Build Coastguard Worker "liblz4", 104*33b1fccfSAndroid Build Coastguard Worker "libselinux", 105*33b1fccfSAndroid Build Coastguard Worker ], 106*33b1fccfSAndroid Build Coastguard Worker }, 107*33b1fccfSAndroid Build Coastguard Worker host: { 108*33b1fccfSAndroid Build Coastguard Worker static_libs: [ 109*33b1fccfSAndroid Build Coastguard Worker "libbase", 110*33b1fccfSAndroid Build Coastguard Worker "libcutils", 111*33b1fccfSAndroid Build Coastguard Worker "libext2_uuid", 112*33b1fccfSAndroid Build Coastguard Worker "liblog", 113*33b1fccfSAndroid Build Coastguard Worker "liblz4", 114*33b1fccfSAndroid Build Coastguard Worker "libselinux", 115*33b1fccfSAndroid Build Coastguard Worker ], 116*33b1fccfSAndroid Build Coastguard Worker }, 117*33b1fccfSAndroid Build Coastguard Worker }, 118*33b1fccfSAndroid Build Coastguard Worker} 119*33b1fccfSAndroid Build Coastguard Worker 120*33b1fccfSAndroid Build Coastguard Workercc_library { 121*33b1fccfSAndroid Build Coastguard Worker host_supported: true, 122*33b1fccfSAndroid Build Coastguard Worker recovery_available: true, 123*33b1fccfSAndroid Build Coastguard Worker name: "liberofs", 124*33b1fccfSAndroid Build Coastguard Worker defaults: ["erofs-utils_defaults"], 125*33b1fccfSAndroid Build Coastguard Worker srcs: [ 126*33b1fccfSAndroid Build Coastguard Worker "lib/*.c", 127*33b1fccfSAndroid Build Coastguard Worker ], 128*33b1fccfSAndroid Build Coastguard Worker exclude_srcs: [ 129*33b1fccfSAndroid Build Coastguard Worker "lib/compressor_libdeflate.c", 130*33b1fccfSAndroid Build Coastguard Worker "lib/compressor_libzstd.c", 131*33b1fccfSAndroid Build Coastguard Worker "lib/workqueue.c", 132*33b1fccfSAndroid Build Coastguard Worker ], 133*33b1fccfSAndroid Build Coastguard Worker export_include_dirs: ["include"], 134*33b1fccfSAndroid Build Coastguard Worker 135*33b1fccfSAndroid Build Coastguard Worker target: { 136*33b1fccfSAndroid Build Coastguard Worker darwin: { 137*33b1fccfSAndroid Build Coastguard Worker enabled: false, 138*33b1fccfSAndroid Build Coastguard Worker }, 139*33b1fccfSAndroid Build Coastguard Worker }, 140*33b1fccfSAndroid Build Coastguard Worker} 141*33b1fccfSAndroid Build Coastguard Worker 142*33b1fccfSAndroid Build Coastguard Workercc_defaults { 143*33b1fccfSAndroid Build Coastguard Worker name: "mkfs-erofs_defaults", 144*33b1fccfSAndroid Build Coastguard Worker 145*33b1fccfSAndroid Build Coastguard Worker defaults: ["erofs-utils_defaults"], 146*33b1fccfSAndroid Build Coastguard Worker 147*33b1fccfSAndroid Build Coastguard Worker srcs: [ 148*33b1fccfSAndroid Build Coastguard Worker "mkfs/*.c", 149*33b1fccfSAndroid Build Coastguard Worker ], 150*33b1fccfSAndroid Build Coastguard Worker static_libs: [ 151*33b1fccfSAndroid Build Coastguard Worker "liberofs", 152*33b1fccfSAndroid Build Coastguard Worker ], 153*33b1fccfSAndroid Build Coastguard Worker 154*33b1fccfSAndroid Build Coastguard Worker target: { 155*33b1fccfSAndroid Build Coastguard Worker darwin: { 156*33b1fccfSAndroid Build Coastguard Worker enabled: false, 157*33b1fccfSAndroid Build Coastguard Worker }, 158*33b1fccfSAndroid Build Coastguard Worker }, 159*33b1fccfSAndroid Build Coastguard Worker} 160*33b1fccfSAndroid Build Coastguard Worker 161*33b1fccfSAndroid Build Coastguard Workercc_binary { 162*33b1fccfSAndroid Build Coastguard Worker name: "mkfs.erofs", 163*33b1fccfSAndroid Build Coastguard Worker 164*33b1fccfSAndroid Build Coastguard Worker defaults: ["mkfs-erofs_defaults"], 165*33b1fccfSAndroid Build Coastguard Worker host_supported: true, 166*33b1fccfSAndroid Build Coastguard Worker} 167*33b1fccfSAndroid Build Coastguard Worker 168*33b1fccfSAndroid Build Coastguard Workercc_binary { 169*33b1fccfSAndroid Build Coastguard Worker name: "mkfs.erofs.recovery", 170*33b1fccfSAndroid Build Coastguard Worker defaults: ["mkfs-erofs_defaults"], 171*33b1fccfSAndroid Build Coastguard Worker recovery: true, 172*33b1fccfSAndroid Build Coastguard Worker stem: "mkfs.erofs", 173*33b1fccfSAndroid Build Coastguard Worker} 174*33b1fccfSAndroid Build Coastguard Worker 175*33b1fccfSAndroid Build Coastguard Workercc_binary_host { 176*33b1fccfSAndroid Build Coastguard Worker name: "make_erofs", 177*33b1fccfSAndroid Build Coastguard Worker 178*33b1fccfSAndroid Build Coastguard Worker defaults: ["mkfs-erofs_defaults"], 179*33b1fccfSAndroid Build Coastguard Worker stl: "libc++_static" 180*33b1fccfSAndroid Build Coastguard Worker} 181*33b1fccfSAndroid Build Coastguard Worker 182*33b1fccfSAndroid Build Coastguard Workercc_defaults { 183*33b1fccfSAndroid Build Coastguard Worker name: "dump.erofs_defaults", 184*33b1fccfSAndroid Build Coastguard Worker defaults: ["erofs-utils_defaults"], 185*33b1fccfSAndroid Build Coastguard Worker srcs: [ 186*33b1fccfSAndroid Build Coastguard Worker "dump/*.c", 187*33b1fccfSAndroid Build Coastguard Worker ], 188*33b1fccfSAndroid Build Coastguard Worker static_libs: [ 189*33b1fccfSAndroid Build Coastguard Worker "liberofs", 190*33b1fccfSAndroid Build Coastguard Worker ], 191*33b1fccfSAndroid Build Coastguard Worker} 192*33b1fccfSAndroid Build Coastguard Worker 193*33b1fccfSAndroid Build Coastguard Workercc_binary { 194*33b1fccfSAndroid Build Coastguard Worker name: "dump.erofs", 195*33b1fccfSAndroid Build Coastguard Worker defaults: ["dump.erofs_defaults"], 196*33b1fccfSAndroid Build Coastguard Worker host_supported: true, 197*33b1fccfSAndroid Build Coastguard Worker target: { 198*33b1fccfSAndroid Build Coastguard Worker darwin: { 199*33b1fccfSAndroid Build Coastguard Worker enabled: false, 200*33b1fccfSAndroid Build Coastguard Worker }, 201*33b1fccfSAndroid Build Coastguard Worker }, 202*33b1fccfSAndroid Build Coastguard Worker} 203*33b1fccfSAndroid Build Coastguard Worker 204*33b1fccfSAndroid Build Coastguard Workercc_binary { 205*33b1fccfSAndroid Build Coastguard Worker name: "dump.erofs.recovery", 206*33b1fccfSAndroid Build Coastguard Worker defaults: ["dump.erofs_defaults"], 207*33b1fccfSAndroid Build Coastguard Worker recovery: true, 208*33b1fccfSAndroid Build Coastguard Worker stem: "dump.erofs", 209*33b1fccfSAndroid Build Coastguard Worker} 210*33b1fccfSAndroid Build Coastguard Worker 211*33b1fccfSAndroid Build Coastguard Workercc_defaults { 212*33b1fccfSAndroid Build Coastguard Worker name: "fsck.erofs_defaults", 213*33b1fccfSAndroid Build Coastguard Worker defaults: ["erofs-utils_defaults"], 214*33b1fccfSAndroid Build Coastguard Worker srcs: [ 215*33b1fccfSAndroid Build Coastguard Worker "fsck/*.c", 216*33b1fccfSAndroid Build Coastguard Worker ], 217*33b1fccfSAndroid Build Coastguard Worker static_libs: [ 218*33b1fccfSAndroid Build Coastguard Worker "liberofs", 219*33b1fccfSAndroid Build Coastguard Worker ], 220*33b1fccfSAndroid Build Coastguard Worker} 221*33b1fccfSAndroid Build Coastguard Worker 222*33b1fccfSAndroid Build Coastguard Workercc_binary { 223*33b1fccfSAndroid Build Coastguard Worker name: "fsck.erofs", 224*33b1fccfSAndroid Build Coastguard Worker defaults: ["fsck.erofs_defaults"], 225*33b1fccfSAndroid Build Coastguard Worker host_supported: true, 226*33b1fccfSAndroid Build Coastguard Worker target: { 227*33b1fccfSAndroid Build Coastguard Worker darwin: { 228*33b1fccfSAndroid Build Coastguard Worker enabled: false, 229*33b1fccfSAndroid Build Coastguard Worker }, 230*33b1fccfSAndroid Build Coastguard Worker }, 231*33b1fccfSAndroid Build Coastguard Worker} 232*33b1fccfSAndroid Build Coastguard Worker 233*33b1fccfSAndroid Build Coastguard Workercc_binary { 234*33b1fccfSAndroid Build Coastguard Worker name: "fsck.erofs.recovery", 235*33b1fccfSAndroid Build Coastguard Worker defaults: ["fsck.erofs_defaults"], 236*33b1fccfSAndroid Build Coastguard Worker recovery: true, 237*33b1fccfSAndroid Build Coastguard Worker stem: "fsck.erofs", 238*33b1fccfSAndroid Build Coastguard Worker}