1// Copyright 2017 The Android Open Source Project 2 3package { 4 default_applicable_licenses: ["external_f2fs-tools_license"], 5} 6 7// Added automatically by a large-scale-change that took the approach of 8// 'apply every license found to every target'. While this makes sure we respect 9// every license restriction, it may not be entirely correct. 10// 11// e.g. GPL in an MIT project might only apply to the contrib/ directory. 12// 13// Please consider splitting the single license below into multiple licenses, 14// taking care not to lose any license_kind information, and overriding the 15// default license using the 'licenses: [...]' property on targets as needed. 16// 17// For unused files, consider creating a 'fileGroup' with "//visibility:private" 18// to attach the license to, and including a comment whether the files may be 19// used in the current project. 20// 21// large-scale-change included anything that looked like it might be a license 22// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 23// 24// Please consider removing redundant or irrelevant files from 'license_text:'. 25// See: http://go/android-license-faq 26license { 27 name: "external_f2fs-tools_license", 28 visibility: [":__subpackages__"], 29 license_kinds: [ 30 "SPDX-license-identifier-BSD", 31 "SPDX-license-identifier-GPL", 32 "SPDX-license-identifier-GPL-2.0", 33 "SPDX-license-identifier-LGPL", 34 "SPDX-license-identifier-LGPL-2.1", 35 ], 36 license_text: [ 37 "COPYING", 38 "NOTICE", 39 ], 40} 41 42cc_defaults { 43 name: "f2fs-tools-defaults", 44 cflags: [ 45 "-DF2FS_MAJOR_VERSION=1", 46 "-DF2FS_MINOR_VERSION=16", 47 "-DF2FS_TOOLS_DATE=\"2023-04-11\"", 48 "-DF2FS_TOOLS_VERSION=\"1.16.0\"", 49 "-DWITH_ANDROID", 50 "-D_FILE_OFFSET_BITS=64", 51 "-Wall", 52 "-Werror", 53 "-Wno-macro-redefined", 54 "-Wno-missing-field-initializers", 55 "-Wno-pointer-arith", 56 "-Wno-sign-compare", 57 ], 58 local_include_dirs: [ 59 "fsck", 60 "include", 61 "mkfs", 62 ], 63 target: { 64 windows: { 65 enabled: false, 66 }, 67 }, 68} 69 70cc_defaults { 71 name: "libf2fs_src_files", 72 cflags: ["-DWITH_BLKDISCARD"], 73 srcs: [ 74 "lib/libf2fs.c", 75 "lib/libf2fs_zoned.c", 76 "lib/nls_utf8.c", 77 "mkfs/f2fs_format.c", 78 "mkfs/f2fs_format_utils.c", 79 ], 80 static_libs: [ 81 "libext2_uuid", 82 ], 83} 84 85cc_defaults { 86 name: "make_f2fs_src_files", 87 srcs: [ 88 "lib/libf2fs_io.c", 89 "mkfs/f2fs_format_main.c", 90 ], 91} 92 93cc_defaults { 94 name: "fsck_main_src_files", 95 srcs: [ 96 "fsck/dict.c", 97 "fsck/dir.c", 98 "fsck/dump.c", 99 "fsck/main.c", 100 "fsck/mkquota.c", 101 "fsck/mount.c", 102 "fsck/node.c", 103 "fsck/quotaio.c", 104 "fsck/quotaio_tree.c", 105 "fsck/quotaio_v2.c", 106 "fsck/segment.c", 107 "fsck/xattr.c", 108 "lib/libf2fs.c", 109 "lib/libf2fs_io.c", 110 "lib/libf2fs_zoned.c", 111 "lib/nls_utf8.c", 112 ], 113} 114 115cc_library_static { 116 name: "libf2fs_fmt", 117 recovery_available: true, 118 defaults: [ 119 "f2fs-tools-defaults", 120 "libf2fs_src_files", 121 ], 122} 123 124cc_library_host_static { 125 name: "libf2fs_fmt_host", 126 defaults: [ 127 "f2fs-tools-defaults", 128 "libf2fs_src_files", 129 ], 130 target: { 131 windows: { 132 include_dirs: ["external/e2fsprogs/include/mingw"], 133 cflags: [ 134 "-DANDROID_WINDOWS_HOST", 135 "-Wno-typedef-redefinition", 136 "-Wno-unused-parameter", 137 ], 138 enabled: true, 139 }, 140 }, 141} 142 143cc_defaults { 144 name: "make_f2fs_defaults", 145 defaults: [ 146 "f2fs-tools-defaults", 147 "make_f2fs_src_files", 148 ], 149 target: { 150 android: { 151 static_libs: [ 152 "libf2fs_fmt", 153 ], 154 shared_libs: [ 155 "libbase", 156 "libext2_uuid", 157 "libsparse", 158 ], 159 }, 160 }, 161} 162 163cc_defaults { 164 name: "make_f2fs_host_defaults", 165 defaults: [ 166 "make_f2fs_defaults", 167 ], 168 host_supported: true, 169 target: { 170 host: { 171 static_libs: [ 172 "libbase", 173 "libext2_uuid", 174 "libf2fs_fmt_host", 175 "libsparse", 176 "libz", 177 ], 178 }, 179 windows: { 180 include_dirs: ["external/e2fsprogs/include/mingw"], 181 cflags: ["-DANDROID_WINDOWS_HOST"], 182 ldflags: ["-static"], 183 host_ldlibs: ["-lws2_32"], 184 enabled: true, 185 }, 186 }, 187} 188 189cc_binary { 190 name: "make_f2fs", 191 defaults: [ 192 "make_f2fs_host_defaults", 193 ], 194 target: { 195 host: { 196 dist: { 197 targets: [ 198 "dist_files", 199 "sdk", 200 ], 201 }, 202 }, 203 }, 204} 205 206cc_binary { 207 name: "make_f2fs.recovery", 208 defaults: [ 209 "make_f2fs_defaults", 210 ], 211 recovery: true, 212 stem: "make_f2fs", 213} 214 215cc_binary_host { 216 name: "make_f2fs_casefold", 217 defaults: [ 218 "make_f2fs_host_defaults", 219 ], 220 recovery_available: true, 221 target: { 222 host: { 223 cflags: [ 224 "-DCONF_CASEFOLD", 225 "-DCONF_PROJID", 226 ], 227 dist: { 228 targets: [ 229 "dist_files", 230 "sdk", 231 ], 232 }, 233 }, 234 windows: { 235 cflags: [ 236 "-DCONF_CASEFOLD", 237 "-DCONF_PROJID", 238 ], 239 }, 240 }, 241} 242 243cc_binary_host { 244 name: "make_f2fs.static", 245 defaults: [ 246 "make_f2fs_host_defaults", 247 ], 248 recovery_available: true, 249 static_executable: true, 250 stl: "libc++_static", 251} 252 253cc_defaults { 254 name: "fsck.f2fs_defaults", 255 defaults: [ 256 "f2fs-tools-defaults", 257 "fsck_main_src_files", 258 ], 259 cflags: [ 260 "-DWITH_DEFRAG", 261 "-DWITH_DUMP", 262 "-DWITH_RESIZE", 263 ], 264 srcs: [ 265 "fsck/defrag.c", 266 "fsck/fsck.c", 267 "fsck/resize.c", 268 ], 269} 270 271cc_defaults { 272 name: "fsck.f2fs_partition_common_defaults", 273 defaults: [ 274 "f2fs-tools-defaults", 275 "fsck.f2fs_defaults", 276 "fsck_main_src_files", 277 ], 278 symlinks: [ 279 "defrag.f2fs", 280 "dump.f2fs", 281 "resize.f2fs", 282 ], 283 shared_libs: [ 284 "libbase", 285 "libext2_uuid", 286 "libsparse", 287 ], 288 bootstrap: true, 289} 290 291cc_binary { 292 name: "fsck.f2fs", 293 defaults: [ 294 "fsck.f2fs_partition_common_defaults", 295 ], 296 host_supported: true, 297 vendor_available: true, 298 vendor_ramdisk_available: true, 299 bootstrap: true, 300} 301 302cc_binary { 303 name: "fsck.f2fs.recovery", 304 defaults: [ 305 "fsck.f2fs_partition_common_defaults", 306 ], 307 recovery: true, 308 bootstrap: true, 309 stem: "fsck.f2fs", 310} 311 312cc_binary { 313 name: "fsck.f2fs_ramdisk", 314 stem: "fsck.f2fs", 315 defaults: [ 316 "f2fs-tools-defaults", 317 "fsck.f2fs_defaults", 318 "fsck_main_src_files", 319 ], 320 static_executable: true, 321 ramdisk: true, 322 static_libs: [ 323 "libbase", 324 "libext2_uuid", 325 "libsparse", 326 "libz", 327 ], 328} 329 330cc_defaults { 331 name: "sload_f2fs_defaults", 332 defaults: [ 333 "f2fs-tools-defaults", 334 "fsck_main_src_files", 335 ], 336 cflags: ["-DWITH_SLOAD"], 337 srcs: [ 338 "fsck/compress.c", 339 "fsck/fsck.c", 340 "fsck/sload.c", 341 ], 342 target: { 343 android: { 344 shared_libs: [ 345 "libbase", 346 "libcrypto", 347 "libcutils", 348 "libext2_uuid", 349 "liblog", 350 "liblz4", 351 "libselinux", 352 "libsparse", 353 ], 354 }, 355 }, 356} 357 358cc_binary { 359 name: "sload_f2fs", 360 defaults: [ 361 "sload_f2fs_defaults", 362 ], 363 host_supported: true, 364 target: { 365 host: { 366 static_libs: [ 367 "libbase", 368 "libcrypto", 369 "libcutils", 370 "libext2_uuid", 371 "liblog", 372 "liblz4", 373 "libselinux", 374 "libsparse", 375 "libz", 376 ], 377 }, 378 }, 379} 380 381cc_binary { 382 name: "sload_f2fs.recovery", 383 defaults: [ 384 "sload_f2fs_defaults", 385 ], 386 recovery: true, 387 stem: "sload_f2fs", 388} 389 390cc_binary { 391 name: "check_f2fs", 392 host_supported: false, 393 cflags: [ 394 "--static", 395 "-U_FORTIFY_SOURCE", 396 "-Wall", 397 "-Werror", 398 ], 399 srcs: ["tools/check_f2fs.c"], 400 product_specific: true, 401} 402 403cc_defaults { 404 name: "tools-defaults", 405 cflags: [ 406 "-Wall", 407 "-Werror", 408 ], 409 local_include_dirs: [ 410 "include", 411 ], 412 target: { 413 windows: { 414 enabled: false, 415 }, 416 darwin: { 417 enabled: false, 418 }, 419 }, 420 product_specific: true, 421} 422 423cc_binary { 424 name: "f2fscrypt", 425 defaults: [ 426 "tools-defaults", 427 ], 428 shared_libs: [ 429 "libext2_uuid", 430 ], 431 srcs: [ 432 "tools/f2fscrypt.c", 433 "tools/sha512.c", 434 ], 435} 436 437cc_binary { 438 name: "f2fs.fibmap", 439 defaults: [ 440 "tools-defaults", 441 ], 442 srcs: [ 443 "tools/fibmap.c", 444 ], 445} 446