// Copyright 2017 The Android Open Source Project cc_defaults { name: "f2fs-tools-defaults", cflags: [ "-DF2FS_MAJOR_VERSION=1", "-DF2FS_MINOR_VERSION=11", "-DF2FS_TOOLS_VERSION=\"1.12.0\"", "-DF2FS_TOOLS_DATE=\"2018-11-12\"", "-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/", "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", ], } 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", ], } 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_binary { name: "make_f2fs", 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: "fsck.f2fs", defaults: [ "f2fs-tools-defaults", "fsck_main_src_files", ], host_supported: true, cflags: ["-DWITH_RESIZE", "-DWITH_DEFRAG"], srcs: ["fsck/fsck.c", "fsck/resize.c", "fsck/defrag.c"], shared_libs: [ "libext2_uuid", "libsparse", "libbase", ], symlinks: ["resize.f2fs", "defrag.f2fs"], } 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"], target: { android: { shared_libs: [ "libext2_uuid", "libsparse", "libbase", "libcrypto", "libselinux", "libcutils", "liblog", ], }, host: { static_libs: [ "libext2_uuid", "libsparse", "libbase", "libcrypto", "libselinux", "libcutils", "liblog", "libz", ], }, }, stl: "libc++_static", } cc_binary { name: "check_f2fs", host_supported: false, cflags: ["--static"], 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", ], }