xref: /aosp_15_r20/external/libopenapv/Android.bp (revision abb65b4b03b69e1d508d4d9a44dcf199df16e7c3)
1*abb65b4bSAndroid Build Coastguard Workerpackage {
2*abb65b4bSAndroid Build Coastguard Worker    default_applicable_licenses: ["external_libapv_license"],
3*abb65b4bSAndroid Build Coastguard Worker}
4*abb65b4bSAndroid Build Coastguard Worker
5*abb65b4bSAndroid Build Coastguard Worker// Added automatically by a large-scale-change
6*abb65b4bSAndroid Build Coastguard Worker// See: http://go/android-license-faq
7*abb65b4bSAndroid Build Coastguard Workerlicense {
8*abb65b4bSAndroid Build Coastguard Worker    name: "external_libapv_license",
9*abb65b4bSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
10*abb65b4bSAndroid Build Coastguard Worker    license_kinds: [
11*abb65b4bSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
12*abb65b4bSAndroid Build Coastguard Worker    ],
13*abb65b4bSAndroid Build Coastguard Worker    license_text: [
14*abb65b4bSAndroid Build Coastguard Worker        "LICENSE",
15*abb65b4bSAndroid Build Coastguard Worker    ],
16*abb65b4bSAndroid Build Coastguard Worker}
17*abb65b4bSAndroid Build Coastguard Worker
18*abb65b4bSAndroid Build Coastguard Workercc_library_headers {
19*abb65b4bSAndroid Build Coastguard Worker    name: "libopenapv_headers",
20*abb65b4bSAndroid Build Coastguard Worker    export_include_dirs: [
21*abb65b4bSAndroid Build Coastguard Worker        "inc",
22*abb65b4bSAndroid Build Coastguard Worker    ],
23*abb65b4bSAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
24*abb65b4bSAndroid Build Coastguard Worker}
25*abb65b4bSAndroid Build Coastguard Worker
26*abb65b4bSAndroid Build Coastguard Workercc_library_static {
27*abb65b4bSAndroid Build Coastguard Worker    name: "libopenapv",
28*abb65b4bSAndroid Build Coastguard Worker    vendor_available: true,
29*abb65b4bSAndroid Build Coastguard Worker    host_supported: true,
30*abb65b4bSAndroid Build Coastguard Worker
31*abb65b4bSAndroid Build Coastguard Worker    shared_libs: [
32*abb65b4bSAndroid Build Coastguard Worker        "liblog",
33*abb65b4bSAndroid Build Coastguard Worker    ],
34*abb65b4bSAndroid Build Coastguard Worker
35*abb65b4bSAndroid Build Coastguard Worker    srcs: [
36*abb65b4bSAndroid Build Coastguard Worker        "src/oapv.c",
37*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_bs.c",
38*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_metadata.c",
39*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_port.c",
40*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_rc.c",
41*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_sad.c",
42*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_tbl.c",
43*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_tpool.c",
44*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_tq.c",
45*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_util.c",
46*abb65b4bSAndroid Build Coastguard Worker        "src/oapv_vlc.c",
47*abb65b4bSAndroid Build Coastguard Worker    ],
48*abb65b4bSAndroid Build Coastguard Worker
49*abb65b4bSAndroid Build Coastguard Worker    local_include_dirs: [
50*abb65b4bSAndroid Build Coastguard Worker        "inc",
51*abb65b4bSAndroid Build Coastguard Worker        "src",
52*abb65b4bSAndroid Build Coastguard Worker    ],
53*abb65b4bSAndroid Build Coastguard Worker
54*abb65b4bSAndroid Build Coastguard Worker    export_include_dirs: [
55*abb65b4bSAndroid Build Coastguard Worker        "inc",
56*abb65b4bSAndroid Build Coastguard Worker    ],
57*abb65b4bSAndroid Build Coastguard Worker
58*abb65b4bSAndroid Build Coastguard Worker    cflags: [
59*abb65b4bSAndroid Build Coastguard Worker        "-DOAPV_STATIC_DEFINE",
60*abb65b4bSAndroid Build Coastguard Worker        "-Wno-multichar",
61*abb65b4bSAndroid Build Coastguard Worker        "-Wall",
62*abb65b4bSAndroid Build Coastguard Worker        "-Werror",
63*abb65b4bSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
64*abb65b4bSAndroid Build Coastguard Worker        "-Wno-pointer-sign",
65*abb65b4bSAndroid Build Coastguard Worker        "-Wno-reorder",
66*abb65b4bSAndroid Build Coastguard Worker        "-Wno-#warnings",
67*abb65b4bSAndroid Build Coastguard Worker        "-Wuninitialized",
68*abb65b4bSAndroid Build Coastguard Worker        "-Wno-self-assign",
69*abb65b4bSAndroid Build Coastguard Worker        "-Wno-implicit-fallthrough",
70*abb65b4bSAndroid Build Coastguard Worker        "-Wtautological-pointer-compare",
71*abb65b4bSAndroid Build Coastguard Worker        "-Wimplicit-function-declaration",
72*abb65b4bSAndroid Build Coastguard Worker        "-Wunused-but-set-variable",
73*abb65b4bSAndroid Build Coastguard Worker        "-ftree-vectorize",
74*abb65b4bSAndroid Build Coastguard Worker        "-finline-functions",
75*abb65b4bSAndroid Build Coastguard Worker    ],
76*abb65b4bSAndroid Build Coastguard Worker
77*abb65b4bSAndroid Build Coastguard Worker    arch: {
78*abb65b4bSAndroid Build Coastguard Worker        arm64: {
79*abb65b4bSAndroid Build Coastguard Worker            local_include_dirs: [
80*abb65b4bSAndroid Build Coastguard Worker                "src/neon",
81*abb65b4bSAndroid Build Coastguard Worker            ],
82*abb65b4bSAndroid Build Coastguard Worker
83*abb65b4bSAndroid Build Coastguard Worker            srcs: [
84*abb65b4bSAndroid Build Coastguard Worker                "src/neon/oapv_sad_neon.c",
85*abb65b4bSAndroid Build Coastguard Worker                "src/neon/oapv_tq_neon.c",
86*abb65b4bSAndroid Build Coastguard Worker            ],
87*abb65b4bSAndroid Build Coastguard Worker        },
88*abb65b4bSAndroid Build Coastguard Worker
89*abb65b4bSAndroid Build Coastguard Worker        arm: {
90*abb65b4bSAndroid Build Coastguard Worker            cflags: [
91*abb65b4bSAndroid Build Coastguard Worker                "-Wno-ignored-qualifiers",
92*abb65b4bSAndroid Build Coastguard Worker            ],
93*abb65b4bSAndroid Build Coastguard Worker        },
94*abb65b4bSAndroid Build Coastguard Worker
95*abb65b4bSAndroid Build Coastguard Worker        x86_64: {
96*abb65b4bSAndroid Build Coastguard Worker            local_include_dirs: [
97*abb65b4bSAndroid Build Coastguard Worker                "src/avx",
98*abb65b4bSAndroid Build Coastguard Worker                "src/sse",
99*abb65b4bSAndroid Build Coastguard Worker            ],
100*abb65b4bSAndroid Build Coastguard Worker
101*abb65b4bSAndroid Build Coastguard Worker            cflags: [
102*abb65b4bSAndroid Build Coastguard Worker                "-mavx2",
103*abb65b4bSAndroid Build Coastguard Worker            ],
104*abb65b4bSAndroid Build Coastguard Worker
105*abb65b4bSAndroid Build Coastguard Worker            srcs: [
106*abb65b4bSAndroid Build Coastguard Worker                "src/avx/oapv_sad_avx.c",
107*abb65b4bSAndroid Build Coastguard Worker                "src/avx/oapv_tq_avx.c",
108*abb65b4bSAndroid Build Coastguard Worker                "src/sse/oapv_sad_sse.c",
109*abb65b4bSAndroid Build Coastguard Worker                "src/sse/oapv_tq_sse.c",
110*abb65b4bSAndroid Build Coastguard Worker            ],
111*abb65b4bSAndroid Build Coastguard Worker        },
112*abb65b4bSAndroid Build Coastguard Worker
113*abb65b4bSAndroid Build Coastguard Worker        x86: {
114*abb65b4bSAndroid Build Coastguard Worker            local_include_dirs: [
115*abb65b4bSAndroid Build Coastguard Worker                "src/avx",
116*abb65b4bSAndroid Build Coastguard Worker                "src/sse",
117*abb65b4bSAndroid Build Coastguard Worker            ],
118*abb65b4bSAndroid Build Coastguard Worker
119*abb65b4bSAndroid Build Coastguard Worker            cflags: [
120*abb65b4bSAndroid Build Coastguard Worker                "-mavx2",
121*abb65b4bSAndroid Build Coastguard Worker            ],
122*abb65b4bSAndroid Build Coastguard Worker            srcs: [
123*abb65b4bSAndroid Build Coastguard Worker                "src/avx/oapv_sad_avx.c",
124*abb65b4bSAndroid Build Coastguard Worker                "src/avx/oapv_tq_avx.c",
125*abb65b4bSAndroid Build Coastguard Worker                "src/sse/oapv_sad_sse.c",
126*abb65b4bSAndroid Build Coastguard Worker                "src/sse/oapv_tq_sse.c",
127*abb65b4bSAndroid Build Coastguard Worker            ],
128*abb65b4bSAndroid Build Coastguard Worker        },
129*abb65b4bSAndroid Build Coastguard Worker    },
130*abb65b4bSAndroid Build Coastguard Worker
131*abb65b4bSAndroid Build Coastguard Worker    sanitize: {
132*abb65b4bSAndroid Build Coastguard Worker        integer_overflow: true,
133*abb65b4bSAndroid Build Coastguard Worker        misc_undefined: ["bounds"],
134*abb65b4bSAndroid Build Coastguard Worker        cfi: true,
135*abb65b4bSAndroid Build Coastguard Worker        scs: true,
136*abb65b4bSAndroid Build Coastguard Worker
137*abb65b4bSAndroid Build Coastguard Worker        config: {
138*abb65b4bSAndroid Build Coastguard Worker            cfi_assembly_support: true,
139*abb65b4bSAndroid Build Coastguard Worker        },
140*abb65b4bSAndroid Build Coastguard Worker    },
141*abb65b4bSAndroid Build Coastguard Worker
142*abb65b4bSAndroid Build Coastguard Worker    apex_available: [
143*abb65b4bSAndroid Build Coastguard Worker        "//apex_available:platform",
144*abb65b4bSAndroid Build Coastguard Worker        "com.android.media.swcodec",
145*abb65b4bSAndroid Build Coastguard Worker    ],
146*abb65b4bSAndroid Build Coastguard Worker    min_sdk_version: "apex_inherit",
147*abb65b4bSAndroid Build Coastguard Worker}
148*abb65b4bSAndroid Build Coastguard Worker
149*abb65b4bSAndroid Build Coastguard Workercc_fuzz {
150*abb65b4bSAndroid Build Coastguard Worker    name: "oapv_fuzzer",
151*abb65b4bSAndroid Build Coastguard Worker    host_supported: true,
152*abb65b4bSAndroid Build Coastguard Worker
153*abb65b4bSAndroid Build Coastguard Worker    srcs: [
154*abb65b4bSAndroid Build Coastguard Worker        "android/oapv_fuzzer.c",
155*abb65b4bSAndroid Build Coastguard Worker    ],
156*abb65b4bSAndroid Build Coastguard Worker
157*abb65b4bSAndroid Build Coastguard Worker    cflags: [
158*abb65b4bSAndroid Build Coastguard Worker        "-DOAPV_STATIC_DEFINE",
159*abb65b4bSAndroid Build Coastguard Worker    ],
160*abb65b4bSAndroid Build Coastguard Worker
161*abb65b4bSAndroid Build Coastguard Worker    static_libs: [
162*abb65b4bSAndroid Build Coastguard Worker        "libopenapv",
163*abb65b4bSAndroid Build Coastguard Worker    ],
164*abb65b4bSAndroid Build Coastguard Worker
165*abb65b4bSAndroid Build Coastguard Worker    fuzz_config: {
166*abb65b4bSAndroid Build Coastguard Worker        cc: ["[email protected]"],
167*abb65b4bSAndroid Build Coastguard Worker        componentid: 25690,
168*abb65b4bSAndroid Build Coastguard Worker    },
169*abb65b4bSAndroid Build Coastguard Worker}
170