1cc_library_static {
2    name: "libFLAC",
3    vendor_available: true,
4
5    srcs: [
6        "bitmath.c",
7        "bitreader.c",
8        "bitwriter.c",
9        "cpu.c",
10        "crc.c",
11        "fixed.c",
12        "float.c",
13        "format.c",
14        "lpc.c",
15        "memory.c",
16        "md5.c",
17        "stream_decoder.c",
18        "stream_encoder.c",
19        "stream_encoder_framing.c",
20        "window.c",
21    ],
22
23    local_include_dirs: ["include"],
24    header_libs: [
25        "libFLAC-config",
26        "libFLAC-headers",
27    ],
28    export_header_lib_headers: ["libFLAC-headers"],
29
30    cflags: [
31        "-DHAVE_CONFIG_H",
32        "-DFLAC__NO_MD5",
33        "-DFLAC__INTEGER_ONLY_LIBRARY",
34
35        "-D_REENTRANT",
36        "-DPIC",
37        "-DU_COMMON_IMPLEMENTATION",
38        "-fPIC",
39
40        "-O3",
41        "-funroll-loops",
42        "-finline-functions",
43        "-Werror",
44        "-Wno-unused-parameter",
45    ],
46
47    arch: {
48        arm: {
49            instruction_set: "arm",
50        },
51    },
52
53    sanitize: {
54        integer_overflow: true,
55        misc_undefined: ["bounds"],
56        // Enable CFI if this is used as a shared library
57        // cfi: true,
58        blacklist: "libFLAC_blacklist.txt",
59    },
60}
61