xref: /aosp_15_r20/external/tremolo/Android.bp (revision bda690e46497e1f65c5077173b9c548e6e0cd5a1)
1*bda690e4SXin Lipackage {
2*bda690e4SXin Li    default_applicable_licenses: ["external_tremolo_license"],
3*bda690e4SXin Li}
4*bda690e4SXin Li
5*bda690e4SXin Li// Added automatically by a large-scale-change that took the approach of
6*bda690e4SXin Li// 'apply every license found to every target'. While this makes sure we respect
7*bda690e4SXin Li// every license restriction, it may not be entirely correct.
8*bda690e4SXin Li//
9*bda690e4SXin Li// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*bda690e4SXin Li//
11*bda690e4SXin Li// Please consider splitting the single license below into multiple licenses,
12*bda690e4SXin Li// taking care not to lose any license_kind information, and overriding the
13*bda690e4SXin Li// default license using the 'licenses: [...]' property on targets as needed.
14*bda690e4SXin Li//
15*bda690e4SXin Li// For unused files, consider creating a 'fileGroup' with "//visibility:private"
16*bda690e4SXin Li// to attach the license to, and including a comment whether the files may be
17*bda690e4SXin Li// used in the current project.
18*bda690e4SXin Li// See: http://go/android-license-faq
19*bda690e4SXin Lilicense {
20*bda690e4SXin Li    name: "external_tremolo_license",
21*bda690e4SXin Li    visibility: [":__subpackages__"],
22*bda690e4SXin Li    license_kinds: [
23*bda690e4SXin Li        "SPDX-license-identifier-Apache-2.0",
24*bda690e4SXin Li        "SPDX-license-identifier-BSD",
25*bda690e4SXin Li    ],
26*bda690e4SXin Li    license_text: [
27*bda690e4SXin Li        "NOTICE",
28*bda690e4SXin Li    ],
29*bda690e4SXin Li}
30*bda690e4SXin Li
31*bda690e4SXin Licc_library {
32*bda690e4SXin Li    name: "libvorbisidec",
33*bda690e4SXin Li    vendor_available: true,
34*bda690e4SXin Li    host_supported: true,
35*bda690e4SXin Li
36*bda690e4SXin Li    srcs: [
37*bda690e4SXin Li        "Tremolo/bitwise.c",
38*bda690e4SXin Li        "Tremolo/codebook.c",
39*bda690e4SXin Li        "Tremolo/dsp.c",
40*bda690e4SXin Li        "Tremolo/floor0.c",
41*bda690e4SXin Li        "Tremolo/floor1.c",
42*bda690e4SXin Li        "Tremolo/floor_lookup.c",
43*bda690e4SXin Li        "Tremolo/framing.c",
44*bda690e4SXin Li        "Tremolo/mapping0.c",
45*bda690e4SXin Li        "Tremolo/mdct.c",
46*bda690e4SXin Li        "Tremolo/misc.c",
47*bda690e4SXin Li        "Tremolo/res012.c",
48*bda690e4SXin Li        "Tremolo/treminfo.c",
49*bda690e4SXin Li        "Tremolo/vorbisfile.c",
50*bda690e4SXin Li    ],
51*bda690e4SXin Li
52*bda690e4SXin Li    arch: {
53*bda690e4SXin Li        arm: {
54*bda690e4SXin Li            cflags: ["-D_ARM_ASSEM_"],
55*bda690e4SXin Li            instruction_set: "arm",
56*bda690e4SXin Li            srcs: [
57*bda690e4SXin Li                "Tremolo/bitwiseARM.s",
58*bda690e4SXin Li                "Tremolo/dpen.s",
59*bda690e4SXin Li                "Tremolo/floor1ARM.s",
60*bda690e4SXin Li                "Tremolo/mdctARM.s",
61*bda690e4SXin Li            ],
62*bda690e4SXin Li        },
63*bda690e4SXin Li        arm64: {
64*bda690e4SXin Li            cflags: ["-DONLY_C"],
65*bda690e4SXin Li        },
66*bda690e4SXin Li        x86: {
67*bda690e4SXin Li            cflags: ["-DONLY_C"],
68*bda690e4SXin Li        },
69*bda690e4SXin Li        x86_64: {
70*bda690e4SXin Li            cflags: ["-DONLY_C"],
71*bda690e4SXin Li        },
72*bda690e4SXin Li        riscv64: {
73*bda690e4SXin Li            cflags: ["-DONLY_C"],
74*bda690e4SXin Li        },
75*bda690e4SXin Li    },
76*bda690e4SXin Li
77*bda690e4SXin Li    cflags: [
78*bda690e4SXin Li        "-O2",
79*bda690e4SXin Li        "-D_GNU_SOURCE",
80*bda690e4SXin Li        "-funsigned-char",
81*bda690e4SXin Li        "-Wall",
82*bda690e4SXin Li        "-Werror",
83*bda690e4SXin Li        "-Wno-unused-variable",
84*bda690e4SXin Li    ],
85*bda690e4SXin Li
86*bda690e4SXin Li    local_include_dirs: ["Tremolo"],
87*bda690e4SXin Li    export_include_dirs: ["."],
88*bda690e4SXin Li
89*bda690e4SXin Li    shared_libs: ["liblog"],
90*bda690e4SXin Li
91*bda690e4SXin Li    sanitize: {
92*bda690e4SXin Li        integer_overflow: true,
93*bda690e4SXin Li        misc_undefined: ["bounds"],
94*bda690e4SXin Li    },
95*bda690e4SXin Li
96*bda690e4SXin Li    target: {
97*bda690e4SXin Li        darwin: {
98*bda690e4SXin Li            enabled: false,
99*bda690e4SXin Li        },
100*bda690e4SXin Li    },
101*bda690e4SXin Li    min_sdk_version: "29",
102*bda690e4SXin Li    apex_available: [
103*bda690e4SXin Li        "//apex_available:platform",
104*bda690e4SXin Li        "com.android.media",
105*bda690e4SXin Li        "com.android.media.swcodec",
106*bda690e4SXin Li    ],
107*bda690e4SXin Li}
108