1// Copyright 2017 The Android Open Source Project
2
3cc_library {
4    name: "libext2fs",
5    host_supported: true,
6    unique_host_soname: true,
7    defaults: ["e2fsprogs-defaults"],
8    srcs: [
9        "ext2_err.c",
10        "alloc.c",
11        "alloc_sb.c",
12        "alloc_stats.c",
13        "alloc_tables.c",
14        "atexit.c",
15        "badblocks.c",
16        "bb_inode.c",
17        "bitmaps.c",
18        "bitops.c",
19        "blkmap64_ba.c",
20        "blkmap64_rb.c",
21        "blknum.c",
22        "block.c",
23        "bmap.c",
24        "check_desc.c",
25        "crc16.c",
26        "crc32c.c",
27        "csum.c",
28        "closefs.c",
29        "dblist.c",
30        "dblist_dir.c",
31        "digest_encode.c",
32        "dirblock.c",
33        "dirhash.c",
34        "dir_iterate.c",
35        "dupfs.c",
36        "expanddir.c",
37        "ext_attr.c",
38        "extent.c",
39        "fallocate.c",
40        "fileio.c",
41        "finddev.c",
42        "flushb.c",
43        "freefs.c",
44        "gen_bitmap.c",
45        "gen_bitmap64.c",
46        "get_num_dirs.c",
47        "get_pathname.c",
48        "getsize.c",
49        "getsectsize.c",
50        "hashmap.c",
51        "i_block.c",
52        "icount.c",
53        "imager.c",
54        "ind_block.c",
55        "initialize.c",
56        "inline.c",
57        "inline_data.c",
58        "inode.c",
59        "io_manager.c",
60        "ismounted.c",
61        "link.c",
62        "llseek.c",
63        "lookup.c",
64        "mmp.c",
65        "mkdir.c",
66        "mkjournal.c",
67        "namei.c",
68        "native.c",
69        "newdir.c",
70        "openfs.c",
71        "progress.c",
72        "punch.c",
73        "qcow2.c",
74        "rbtree.c",
75        "read_bb.c",
76        "read_bb_file.c",
77        "res_gdt.c",
78        "rw_bitmaps.c",
79        "sha256.c",
80        "sha512.c",
81        "swapfs.c",
82        "symlink.c",
83        "undo_io.c",
84        "unix_io.c",
85        "sparse_io.c",
86        "unlink.c",
87        "valid_blk.c",
88        "version.c",
89        // get rid of this?!
90        "test_io.c",
91    ],
92    shared_libs: [
93        "libsparse",
94        "libz",
95    ],
96    whole_static_libs: [
97        "libext2_com_err"
98    ],
99    cflags: ["-Wno-unused-parameter"],
100    target: {
101        host: {
102            // Consider removing this library as a whole for the host. It is not
103            // in the android side.
104            whole_static_libs: ["libext2_com_err"],
105        },
106        android: {
107            shared_libs: [
108                "libext2_com_err",
109                "libext2_uuid",
110            ],
111        },
112        windows: {
113            enabled: true,
114            include_dirs: [ "external/e2fsprogs/include/mingw" ],
115            cflags: [
116                "-Wno-error=cpp",
117                "-Wno-format",
118                "-Wno-unused-variable",
119            ],
120            clang_cflags: [
121                "-Wno-error=typedef-redefinition",
122            ],
123            host_ldlibs: ["-lws2_32"],
124        },
125    },
126
127    header_libs: ["libext2-headers"],
128    export_include_dirs: ["."],
129    export_header_lib_headers: ["libext2-headers"],
130}
131