// Copyright 2017 The Android Open Source Project

// Library used to export files from this directory to other programs in this
// project.
cc_library {
    name: "libext2_misc",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    target: {
        windows: {
            include_dirs: [ "external/e2fsprogs/include/mingw" ],
            enabled: true,
            cflags: ["-Wno-unused-variable"],
        },
    },

    srcs: [
        "create_inode.c",
    ],
    cflags: ["-Wno-error=format-extra-args"],
    shared_libs: [
        "libext2_quota",
        "libext2fs",
    ],
    system_shared_libs: ["libc", "libdl"],
    export_include_dirs: ["."],
}

//########################################################################
// Build mke2fs

cc_binary {
    name: "mke2fs",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    srcs: [
        "mke2fs.c",
        "util.c",
        "mk_hugefiles.c",
        "default_profile.c",
    ],
    cflags: [
        "-Wno-error=format",
        "-Wno-error=type-limits",
        "-Wno-format-extra-args",
    ],
    target: {
        host: {
            static_libs: [
                "libext2_blkid",
                "libext2_misc",
                "libext2_uuid",
                "libext2_quota",
                "libext2_com_err",
                "libext2_e2p",
                "libext2fs",
                "libsparse",
                "libbase",
                "libz",
            ],
        },
        not_windows: {
            required: [
                "mke2fs.conf",
            ],
        },
        windows: {
            include_dirs: [ "external/e2fsprogs/include/mingw" ],
            cflags: [
                "-D_POSIX",
                "-D__USE_MINGW_ALARM",
                // mke2fs.c has a warning from gcc which cannot be suppressed:
                // passing argument 3 of 'ext2fs_get_device_size' from
                // incompatible pointer type
                "-Wno-error"
            ],
            ldflags: ["-static"],
            host_ldlibs: ["-lws2_32"],
            enabled: true
        },
        android: {
            required: [
                "mke2fs.conf",
            ],
            shared_libs: [
                "libext2fs",
                "libext2_blkid",
                "libext2_misc",
                "libext2_uuid",
                "libext2_quota",
                "libext2_com_err",
                "libext2_e2p",
            ],
            symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"],
        },
    },
    stl: "libc++_static",
    include_dirs: ["external/e2fsprogs/e2fsck"],
}

//##########################################################################
// Build tune2fs

cc_defaults {
    name: "tune2fs-defaults",
    defaults: ["e2fsprogs-defaults"],
    srcs: [
        "tune2fs.c",
        "util.c",
    ],
    cflags: ["-DNO_RECOVERY"],
    include_dirs: ["external/e2fsprogs/e2fsck"],
}

tune2fs_libs = [
    "libext2_com_err",
    "libext2_blkid",
    "libext2_quota",
    "libext2_uuid",
    "libext2_e2p",
    "libext2fs",
]

cc_binary {
    name: "tune2fs",
    host_supported: true,
    defaults: ["tune2fs-defaults"],

    shared_libs: tune2fs_libs,
    system_shared_libs: ["libc", "libdl"],
}

cc_binary {
    name: "tune2fs_static",
    static_executable: true,
    defaults: ["tune2fs-defaults"],

    static_libs: tune2fs_libs,
}

cc_library_static {
    name: "libtune2fs",
    defaults: ["tune2fs-defaults"],

    cflags: ["-DBUILD_AS_LIB"],
    static_libs: tune2fs_libs,
}

//########################################################################
// Build badblocks

cc_binary {
    name: "badblocks",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    srcs: ["badblocks.c"],
    shared_libs: [
        "libext2fs",
        "libext2_com_err",
        "libext2_uuid",
        "libext2_blkid",
        "libext2_e2p",
    ],
    system_shared_libs: ["libc", "libdl"],
}

//########################################################################
// Build chattr

cc_binary {
    name: "chattr",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    srcs: ["chattr.c"],
    shared_libs: [
        "libext2_com_err",
        "libext2_e2p",
    ],
    system_shared_libs: ["libc", "libdl"],
}

//########################################################################
// Build lsattr

cc_defaults {
    name: "lsattr-defaults",
    srcs: ["lsattr.c"],
    defaults: ["e2fsprogs-defaults"],
}

lsattr_libs = [
    "libext2_com_err",
    "libext2_e2p",
]

cc_binary {
    name: "lsattr",
    host_supported: true,
    defaults: ["lsattr-defaults"],

    shared_libs: lsattr_libs,
    system_shared_libs: ["libc", "libdl"],
}

cc_binary {
    name: "lsattr_static",
    static_executable: true,
    defaults: ["lsattr-defaults"],

    static_libs: lsattr_libs,
}

//########################################################################
// Build blkid

cc_binary {
    name: "blkid",
    defaults: ["e2fsprogs-defaults"],

    srcs: ["blkid.c"],
    shared_libs: [
        "libext2fs",
        "libext2_blkid",
        "libext2_com_err",
        "libext2_e2p",
    ],
    system_shared_libs: ["libc", "libdl"],
}

//########################################################################
// Build e4crypt

cc_binary {
    name: "e4crypt",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    srcs: ["e4crypt.c"],
    shared_libs: [
        "libext2fs",
        "libext2_uuid",
    ],
    system_shared_libs: ["libc", "libdl"],

    target: {
        darwin: {
            enabled: false,
        },
    },
}

//##########################################################################
// Build e2image

cc_binary {
    name: "e2image",
    host_supported: true,
    defaults: ["e2fsprogs-defaults"],

    srcs: ["e2image.c"],
    shared_libs: [
        "libext2fs",
        "libext2_blkid",
        "libext2_com_err",
        "libext2_quota",
    ],
    system_shared_libs: ["libc", "libdl"],
}
