// Copyright 2010 The Android Open Source Project

package {
    default_applicable_licenses: ["system_extras_ext4_utils_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "system_extras_ext4_utils_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

cc_library {
    name: "libext4_utils",
    host_supported: true,
    ramdisk_available: true,
    vendor_ramdisk_available: true,
    recovery_available: true,
    srcs: [
        "ext4_utils.cpp",
        "wipe.cpp",
        "ext4_sb.cpp",
    ],
    // Various instances of dereferencing a type-punned pointer in extent.c
    cflags: [
        "-Werror",
        "-fno-strict-aliasing",
        "-D_FILE_OFFSET_BITS=64",
    ],
    export_include_dirs: ["include"],
    shared_libs: [
        "libbase",
        "libz",
    ],

    target: {
        windows: {
            host_ldlibs: ["-lws2_32"],
            enabled: true,
        },

        android: {
            shared_libs: [
                "libbase",
            ],

            shared: {
                cflags: ["-DREAL_UUID"],
                shared_libs: [
                    "libcutils",
                    "libext2_uuid",
                ],
            },
        },
    },
}

python_binary_host {
    name: "mkuserimg_mke2fs",
    srcs: [
        "mkuserimg_mke2fs.py",
    ],

    data: [
        "mke2fs.conf",
    ],

    required: [
        "mke2fs",
        "e2fsdroid",
    ],
}

prebuilt_etc {
    name: "mke2fs.conf",
    src: "mke2fs.conf",
}

prebuilt_etc {
    name: "mke2fs.conf.recovery",
    recovery: true,
    src: "mke2fs.conf",
}

// TODO(b/157625953): Can't embedded into the other package because of missing variant
filegroup {
    name: "mke2fs_conf",
    srcs: [
        "mke2fs.conf",
    ],
    visibility: [
        "//development/build",
        "//system/apex/apexer",
    ],
}

cc_binary_host {
    name: "blk_alloc_to_base_fs",
    srcs: ["blk_alloc_to_base_fs.cpp"],
    shared_libs: ["libcutils"],
    target: {
        host: {
            cflags: ["-DHOST"],
        },
    },
    cflags: [
        "-Wall",
        "-Werror",
    ],
}
