xref: /aosp_15_r20/external/flac/src/libFLAC/Android.bp (revision 600f14f40d737144c998e2ec7a483122d3776fbc)
1*600f14f4SXin Lipackage {
2*600f14f4SXin Li    // See: http://go/android-license-faq
3*600f14f4SXin Li    // A large-scale-change added 'default_applicable_licenses' to import
4*600f14f4SXin Li    // all of the 'license_kinds' from "external_flac_license"
5*600f14f4SXin Li    // to get the below license kinds:
6*600f14f4SXin Li    //   SPDX-license-identifier-BSD
7*600f14f4SXin Li    //   legacy_unencumbered
8*600f14f4SXin Li    default_applicable_licenses: ["external_flac_license"],
9*600f14f4SXin Li}
10*600f14f4SXin Li
11*600f14f4SXin Licc_library_static {
12*600f14f4SXin Li    name: "libFLAC",
13*600f14f4SXin Li    vendor_available: true,
14*600f14f4SXin Li    host_supported: true,
15*600f14f4SXin Li    srcs: [
16*600f14f4SXin Li        "bitmath.c",
17*600f14f4SXin Li        "bitreader.c",
18*600f14f4SXin Li        "bitwriter.c",
19*600f14f4SXin Li        "cpu.c",
20*600f14f4SXin Li        "crc.c",
21*600f14f4SXin Li        "fixed.c",
22*600f14f4SXin Li        "float.c",
23*600f14f4SXin Li        "format.c",
24*600f14f4SXin Li        "lpc.c",
25*600f14f4SXin Li        "memory.c",
26*600f14f4SXin Li        "md5.c",
27*600f14f4SXin Li        "stream_decoder.c",
28*600f14f4SXin Li        "stream_encoder.c",
29*600f14f4SXin Li        "stream_encoder_framing.c",
30*600f14f4SXin Li        "window.c",
31*600f14f4SXin Li    ],
32*600f14f4SXin Li
33*600f14f4SXin Li    local_include_dirs: ["include"],
34*600f14f4SXin Li    header_libs: [
35*600f14f4SXin Li        "libFLAC-config",
36*600f14f4SXin Li        "libFLAC-headers",
37*600f14f4SXin Li    ],
38*600f14f4SXin Li    export_header_lib_headers: ["libFLAC-headers"],
39*600f14f4SXin Li
40*600f14f4SXin Li    cflags: [
41*600f14f4SXin Li        "-DHAVE_CONFIG_H",
42*600f14f4SXin Li        "-DFLAC__NO_MD5",
43*600f14f4SXin Li        "-DFLAC__INTEGER_ONLY_LIBRARY",
44*600f14f4SXin Li
45*600f14f4SXin Li        "-D_REENTRANT",
46*600f14f4SXin Li        "-DPIC",
47*600f14f4SXin Li        "-DU_COMMON_IMPLEMENTATION",
48*600f14f4SXin Li        "-fPIC",
49*600f14f4SXin Li
50*600f14f4SXin Li        "-O3",
51*600f14f4SXin Li        "-funroll-loops",
52*600f14f4SXin Li        "-finline-functions",
53*600f14f4SXin Li        "-Werror",
54*600f14f4SXin Li        "-Wno-unused-parameter",
55*600f14f4SXin Li        "-Wno-unreachable-code-loop-increment",
56*600f14f4SXin Li    ],
57*600f14f4SXin Li
58*600f14f4SXin Li    arch: {
59*600f14f4SXin Li        arm: {
60*600f14f4SXin Li            instruction_set: "arm",
61*600f14f4SXin Li        },
62*600f14f4SXin Li    },
63*600f14f4SXin Li
64*600f14f4SXin Li    sanitize: {
65*600f14f4SXin Li        integer_overflow: true,
66*600f14f4SXin Li        misc_undefined: ["bounds"],
67*600f14f4SXin Li        // Enable CFI if this is used as a shared library
68*600f14f4SXin Li        // cfi: true,
69*600f14f4SXin Li        blocklist: "libFLAC_blocklist.txt",
70*600f14f4SXin Li    },
71*600f14f4SXin Li
72*600f14f4SXin Li    target: {
73*600f14f4SXin Li        darwin: {
74*600f14f4SXin Li            enabled: false,
75*600f14f4SXin Li        },
76*600f14f4SXin Li    },
77*600f14f4SXin Li    min_sdk_version: "29",
78*600f14f4SXin Li    apex_available: [
79*600f14f4SXin Li        "//apex_available:platform",
80*600f14f4SXin Li        "com.android.media",
81*600f14f4SXin Li        "com.android.media.swcodec",
82*600f14f4SXin Li        "test_com.android.media.swcodec",
83*600f14f4SXin Li    ],
84*600f14f4SXin Li
85*600f14f4SXin Li}
86