// Copyright 2017 The Android Open Source Project

cc_library {
    name: "libext2fs",
    host_supported: true,
    unique_host_soname: true,
    srcs: [
        "ext2_err.c",
        "alloc.c",
        "alloc_sb.c",
        "alloc_stats.c",
        "alloc_tables.c",
        "atexit.c",
        "badblocks.c",
        "bb_inode.c",
        "bitmaps.c",
        "bitops.c",
        "blkmap64_ba.c",
        "blkmap64_rb.c",
        "blknum.c",
        "block.c",
        "bmap.c",
        "check_desc.c",
        "crc16.c",
        "crc32c.c",
        "csum.c",
        "closefs.c",
        "dblist.c",
        "dblist_dir.c",
        "digest_encode.c",
        "dirblock.c",
        "dirhash.c",
        "dir_iterate.c",
        "dupfs.c",
        "expanddir.c",
        "ext_attr.c",
        "extent.c",
        "fallocate.c",
        "fileio.c",
        "finddev.c",
        "flushb.c",
        "freefs.c",
        "gen_bitmap.c",
        "gen_bitmap64.c",
        "get_num_dirs.c",
        "get_pathname.c",
        "getsize.c",
        "getsectsize.c",
        "i_block.c",
        "icount.c",
        "imager.c",
        "ind_block.c",
        "initialize.c",
        "inline.c",
        "inline_data.c",
        "inode.c",
        "io_manager.c",
        "ismounted.c",
        "link.c",
        "llseek.c",
        "lookup.c",
        "mmp.c",
        "mkdir.c",
        "mkjournal.c",
        "namei.c",
        "native.c",
        "newdir.c",
        "openfs.c",
        "progress.c",
        "punch.c",
        "qcow2.c",
        "rbtree.c",
        "read_bb.c",
        "read_bb_file.c",
        "res_gdt.c",
        "rw_bitmaps.c",
        "sha256.c",
        "sha512.c",
        "swapfs.c",
        "symlink.c",
        "undo_io.c",
        "unix_io.c",
        "sparse_io.c",
        "unlink.c",
        "valid_blk.c",
        "version.c",
        // get rid of this?!
        "test_io.c",
    ],
    shared_libs: [
        "libsparse",
    ],
    whole_static_libs: [
        "libext2_com_err"
    ],
    cflags: [
        "-W",
        "-Wall",
        "-Wno-unused-parameter",
        "-Wno-macro-redefined",
    ],
    target: {
        host: {
            shared_libs: ["libz-host"],
            // Consider removing this library as a whole for the host. It is not
            // in the android side.
            whole_static_libs: ["libext2_com_err"],
        },
        android: {
            shared_libs: [
                "libext2_com_err",
                "libext2_uuid",
                "libz"
            ],
        },
        windows: {
            // include/nonunix is used as an overlay on top of the system
            // include directory. Some empty header files in include/nonunix
            // hide the ones in the system include path. This setup doesn't work
            // unless we pass the include/nonunix as an -isystem flag.
            // TODO(deymo): Enable windows
            enabled: false,
            cflags: [
                "-Wno-format",
            //    "-isystem external/e2fsprogs/include/nonunix",
            ],
            host_ldlibs: ["-lws2_32"],
        },
    },

    header_libs: ["libext2-headers"],
    export_include_dirs: ["."],
    export_header_lib_headers: ["libext2-headers"],
}