blob: 48cdcd9e1284815471f3c97e743c0dc343ec289a [file] [log] [blame]
// Copyright 2017 The Android Open Source Project
package {
default_applicable_licenses: ["external_f2fs-tools_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
name: "external_f2fs-tools_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-GPL",
"SPDX-license-identifier-GPL-2.0",
"SPDX-license-identifier-LGPL",
"SPDX-license-identifier-LGPL-2.1",
],
license_text: [
"COPYING",
"NOTICE",
],
}
cc_defaults {
name: "f2fs-tools-defaults",
cflags: [
"-DF2FS_MAJOR_VERSION=1",
"-DF2FS_MINOR_VERSION=14",
"-DF2FS_TOOLS_VERSION=\"1.14.0\"",
"-DF2FS_TOOLS_DATE=\"2020-08-24\"",
"-DWITH_ANDROID",
"-Wall",
"-Werror",
"-Wno-format",
"-Wno-macro-redefined",
"-Wno-missing-field-initializers",
"-Wno-pointer-arith",
"-Wno-sign-compare",
"-Wno-unused-function",
"-Wno-string-plus-int",
],
local_include_dirs: [
"include",
"mkfs",
"fsck",
],
include_dirs: [
"external/e2fsprogs/lib/",
"external/e2fsprogs/lib/uuid",
"system/core/libsparse/include",
],
target: {
windows: {
enabled: false,
},
},
}
cc_defaults {
name: "libf2fs_src_files",
cflags: ["-DWITH_BLKDISCARD"],
srcs: [
"lib/libf2fs.c",
"mkfs/f2fs_format.c",
"mkfs/f2fs_format_utils.c",
"lib/libf2fs_zoned.c",
"lib/nls_utf8.c",
],
}
cc_defaults {
name: "make_f2fs_src_files",
srcs: [
"lib/libf2fs_io.c",
"mkfs/f2fs_format_main.c",
],
}
cc_defaults {
name: "fsck_main_src_files",
srcs: [
"fsck/dir.c",
"fsck/dict.c",
"fsck/mkquota.c",
"fsck/quotaio.c",
"fsck/quotaio_tree.c",
"fsck/quotaio_v2.c",
"fsck/node.c",
"fsck/segment.c",
"fsck/xattr.c",
"fsck/main.c",
"fsck/mount.c",
"lib/libf2fs.c",
"lib/libf2fs_io.c",
"lib/libf2fs_zoned.c",
"lib/nls_utf8.c",
"fsck/dump.c",
],
}
cc_library_static {
name: "libf2fs_fmt",
recovery_available: true,
defaults: [
"f2fs-tools-defaults",
"libf2fs_src_files"
],
}
cc_library_host_static {
name: "libf2fs_fmt_host",
defaults: [
"f2fs-tools-defaults",
"libf2fs_src_files"
],
target: {
windows: {
include_dirs: [ "external/e2fsprogs/include/mingw" ],
cflags: [
"-DANDROID_WINDOWS_HOST",
"-Wno-typedef-redefinition",
"-Wno-unused-parameter",
],
enabled: true
},
},
}
cc_defaults {
name: "make_f2fs_defaults",
defaults: [
"f2fs-tools-defaults",
"make_f2fs_src_files",
],
host_supported: true,
recovery_available: true,
target: {
android: {
static_libs: [
"libf2fs_fmt",
],
shared_libs: [
"libext2_uuid",
"libsparse",
"libbase",
],
},
host: {
static_libs: [
"libf2fs_fmt_host",
"libext2_uuid",
"libsparse",
"libbase",
"libz",
],
},
windows: {
include_dirs: [ "external/e2fsprogs/include/mingw" ],
cflags: ["-DANDROID_WINDOWS_HOST"],
ldflags: ["-static"],
host_ldlibs: ["-lws2_32"],
enabled: true
},
},
}
cc_binary {
name: "make_f2fs",
defaults: [
"make_f2fs_defaults",
],
}
cc_binary_host {
name: "make_f2fs_casefold",
defaults: [
"make_f2fs_defaults",
],
target: {
host: {
cflags: ["-DCONF_CASEFOLD", "-DCONF_PROJID"],
},
windows: {
cflags: ["-DCONF_CASEFOLD", "-DCONF_PROJID"],
},
},
}
cc_binary_host {
name: "make_f2fs.static",
defaults: [
"make_f2fs_defaults",
],
target: {
host: {
ldflags: ["-static"],
},
},
stl: "libc++_static",
}
cc_binary {
name: "fsck.f2fs",
defaults: [
"f2fs-tools-defaults",
"fsck_main_src_files",
],
host_supported: true,
recovery_available: true,
cflags: ["-DWITH_RESIZE", "-DWITH_DEFRAG", "-DWITH_DUMP"],
srcs: ["fsck/fsck.c", "fsck/resize.c", "fsck/defrag.c"],
shared_libs: [
"libext2_uuid",
"libsparse",
"libbase",
],
symlinks: ["resize.f2fs", "defrag.f2fs", "dump.f2fs"],
vendor_ramdisk_available: true,
}
cc_binary {
name: "sload_f2fs",
defaults: [
"f2fs-tools-defaults",
"fsck_main_src_files",
],
host_supported: true,
recovery_available: true,
cflags: ["-DWITH_SLOAD"],
srcs: [
"fsck/fsck.c",
"fsck/sload.c",
"fsck/compress.c",
],
target: {
android: {
shared_libs: [
"libext2_uuid",
"libsparse",
"libbase",
"libcrypto",
"libselinux",
"libcutils",
"liblog",
"liblz4",
],
},
host: {
static_libs: [
"libext2_uuid",
"libsparse",
"libbase",
"libcrypto",
"libselinux",
"libcutils",
"liblog",
"libz",
"liblz4",
],
},
},
stl: "libc++_static",
}
cc_binary {
name: "check_f2fs",
host_supported: false,
cflags: [
"--static",
"-U_FORTIFY_SOURCE",
],
srcs: ["tools/check_f2fs.c"],
product_specific: true,
}
cc_defaults {
name: "tools-defaults",
cflags: [
"-Wno-unused-function",
],
local_include_dirs: [
"include",
],
target: {
windows: {
enabled: false,
},
darwin: {
enabled: false,
},
},
product_specific: true,
}
cc_binary {
name: "f2fscrypt",
defaults: [
"tools-defaults",
],
shared_libs: [
"libext2_uuid",
],
srcs: [
"tools/f2fscrypt.c",
"tools/sha512.c",
],
}
cc_binary {
name: "f2fsstat",
defaults: [
"tools-defaults",
],
srcs: [
"tools/f2fstat.c",
],
}
cc_binary {
name: "f2fs.fibmap",
defaults: [
"tools-defaults",
],
srcs: [
"tools/fibmap.c",
],
}