xref: /aosp_15_r20/frameworks/rs/toolkit/Android.bp (revision e1eccf28f96817838ad6867f7f39d2351ec11f56)
1*e1eccf28SAndroid Build Coastguard Workerpackage {
2*e1eccf28SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*e1eccf28SAndroid Build Coastguard Worker}
4*e1eccf28SAndroid Build Coastguard Worker
5*e1eccf28SAndroid Build Coastguard Worker// TODO: In later CLs, this build file will be replaced by a stand alone build that's not part of Android.
6*e1eccf28SAndroid Build Coastguard Worker
7*e1eccf28SAndroid Build Coastguard Workercc_binary {
8*e1eccf28SAndroid Build Coastguard Worker    name: "renderscripttoolkittest",
9*e1eccf28SAndroid Build Coastguard Worker    srcs: [
10*e1eccf28SAndroid Build Coastguard Worker        "TestTaskProcessor.cpp"
11*e1eccf28SAndroid Build Coastguard Worker    ],
12*e1eccf28SAndroid Build Coastguard Worker    shared_libs: [
13*e1eccf28SAndroid Build Coastguard Worker         "libbase",
14*e1eccf28SAndroid Build Coastguard Worker         "librenderscripttoolkit",
15*e1eccf28SAndroid Build Coastguard Worker    ],
16*e1eccf28SAndroid Build Coastguard Worker}
17*e1eccf28SAndroid Build Coastguard Worker
18*e1eccf28SAndroid Build Coastguard Workercc_library_shared {
19*e1eccf28SAndroid Build Coastguard Worker    name: "librenderscripttoolkit",
20*e1eccf28SAndroid Build Coastguard Worker    defaults: [],
21*e1eccf28SAndroid Build Coastguard Worker    vendor_available: false,
22*e1eccf28SAndroid Build Coastguard Worker    native_bridge_supported: false,
23*e1eccf28SAndroid Build Coastguard Worker    double_loadable: true,
24*e1eccf28SAndroid Build Coastguard Worker
25*e1eccf28SAndroid Build Coastguard Worker    srcs: [
26*e1eccf28SAndroid Build Coastguard Worker        "Blend.cpp",
27*e1eccf28SAndroid Build Coastguard Worker        "Blur.cpp",
28*e1eccf28SAndroid Build Coastguard Worker        "ColorMatrix.cpp",
29*e1eccf28SAndroid Build Coastguard Worker        "Convolve3x3.cpp",
30*e1eccf28SAndroid Build Coastguard Worker        "Convolve5x5.cpp",
31*e1eccf28SAndroid Build Coastguard Worker        "Histogram.cpp",
32*e1eccf28SAndroid Build Coastguard Worker        "Lut.cpp",
33*e1eccf28SAndroid Build Coastguard Worker        "Lut3d.cpp",
34*e1eccf28SAndroid Build Coastguard Worker	"RenderScriptToolkit.cpp",
35*e1eccf28SAndroid Build Coastguard Worker        "Resize.cpp",
36*e1eccf28SAndroid Build Coastguard Worker        "TaskProcessor.cpp",
37*e1eccf28SAndroid Build Coastguard Worker        "Utils.cpp",
38*e1eccf28SAndroid Build Coastguard Worker        "YuvToRgb.cpp",
39*e1eccf28SAndroid Build Coastguard Worker    ],
40*e1eccf28SAndroid Build Coastguard Worker
41*e1eccf28SAndroid Build Coastguard Worker    static_libs: [ "cpufeatures" ],
42*e1eccf28SAndroid Build Coastguard Worker
43*e1eccf28SAndroid Build Coastguard Worker    arch: {
44*e1eccf28SAndroid Build Coastguard Worker        arm64: {
45*e1eccf28SAndroid Build Coastguard Worker            cflags: [
46*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM_USE_INTRINSICS",
47*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM64_USE_INTRINSICS",
48*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM64_HAVE_NEON",
49*e1eccf28SAndroid Build Coastguard Worker            ],
50*e1eccf28SAndroid Build Coastguard Worker
51*e1eccf28SAndroid Build Coastguard Worker            srcs: [
52*e1eccf28SAndroid Build Coastguard Worker                "Blend_advsimd.S",
53*e1eccf28SAndroid Build Coastguard Worker                "Blur_advsimd.S",
54*e1eccf28SAndroid Build Coastguard Worker                "ColorMatrix_advsimd.S",
55*e1eccf28SAndroid Build Coastguard Worker                "Convolve_advsimd.S",
56*e1eccf28SAndroid Build Coastguard Worker                "Lut3d_advsimd.S",
57*e1eccf28SAndroid Build Coastguard Worker                "Resize_advsimd.S",
58*e1eccf28SAndroid Build Coastguard Worker                "YuvToRgb_advsimd.S",
59*e1eccf28SAndroid Build Coastguard Worker            ],
60*e1eccf28SAndroid Build Coastguard Worker        },
61*e1eccf28SAndroid Build Coastguard Worker
62*e1eccf28SAndroid Build Coastguard Worker        arm: {
63*e1eccf28SAndroid Build Coastguard Worker            cflags: [
64*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM_HAVE_NEON",
65*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM_HAVE_VFP",
66*e1eccf28SAndroid Build Coastguard Worker                "-DARCH_ARM_USE_INTRINSICS",
67*e1eccf28SAndroid Build Coastguard Worker            ],
68*e1eccf28SAndroid Build Coastguard Worker
69*e1eccf28SAndroid Build Coastguard Worker            srcs: [
70*e1eccf28SAndroid Build Coastguard Worker                "Blend_neon.S",
71*e1eccf28SAndroid Build Coastguard Worker                "Blur_neon.S",
72*e1eccf28SAndroid Build Coastguard Worker                "ColorMatrix_neon.S",
73*e1eccf28SAndroid Build Coastguard Worker                "Convolve_neon.S",
74*e1eccf28SAndroid Build Coastguard Worker                "Lut3d_neon.S",
75*e1eccf28SAndroid Build Coastguard Worker                "Resize_neon.S",
76*e1eccf28SAndroid Build Coastguard Worker                "YuvToRgb_neon.S",
77*e1eccf28SAndroid Build Coastguard Worker            ],
78*e1eccf28SAndroid Build Coastguard Worker        },
79*e1eccf28SAndroid Build Coastguard Worker
80*e1eccf28SAndroid Build Coastguard Worker        x86: {
81*e1eccf28SAndroid Build Coastguard Worker            cflags: ["-DARCH_X86_HAVE_SSSE3"],
82*e1eccf28SAndroid Build Coastguard Worker            srcs: ["x86.cpp"],
83*e1eccf28SAndroid Build Coastguard Worker        },
84*e1eccf28SAndroid Build Coastguard Worker        x86_64: {
85*e1eccf28SAndroid Build Coastguard Worker            cflags: ["-DARCH_X86_HAVE_SSSE3"],
86*e1eccf28SAndroid Build Coastguard Worker            srcs: ["x86.cpp"],
87*e1eccf28SAndroid Build Coastguard Worker        avx2: {
88*e1eccf28SAndroid Build Coastguard Worker                cflags: ["-DARCH_X86_HAVE_AVX2", "-mavx2", "-mfma"],
89*e1eccf28SAndroid Build Coastguard Worker            },
90*e1eccf28SAndroid Build Coastguard Worker        },
91*e1eccf28SAndroid Build Coastguard Worker    },
92*e1eccf28SAndroid Build Coastguard Worker
93*e1eccf28SAndroid Build Coastguard Worker    shared_libs: [
94*e1eccf28SAndroid Build Coastguard Worker        "libbase",
95*e1eccf28SAndroid Build Coastguard Worker        "liblog",
96*e1eccf28SAndroid Build Coastguard Worker	"libnativehelper",
97*e1eccf28SAndroid Build Coastguard Worker	"libjnigraphics",
98*e1eccf28SAndroid Build Coastguard Worker    ],
99*e1eccf28SAndroid Build Coastguard Worker    header_libs: [
100*e1eccf28SAndroid Build Coastguard Worker        // TODO Once we compile in the .cpp files, check if any of these libraries are needed.
101*e1eccf28SAndroid Build Coastguard Worker        //"libutils_headers",
102*e1eccf28SAndroid Build Coastguard Worker        //"libhardware_headers",
103*e1eccf28SAndroid Build Coastguard Worker    ],
104*e1eccf28SAndroid Build Coastguard Worker
105*e1eccf28SAndroid Build Coastguard Worker    include_dirs: [
106*e1eccf28SAndroid Build Coastguard Worker    ],
107*e1eccf28SAndroid Build Coastguard Worker
108*e1eccf28SAndroid Build Coastguard Worker    cflags: [
109*e1eccf28SAndroid Build Coastguard Worker        "-Wthread-safety",
110*e1eccf28SAndroid Build Coastguard Worker        "-Werror",
111*e1eccf28SAndroid Build Coastguard Worker        "-Wall",
112*e1eccf28SAndroid Build Coastguard Worker        "-Wextra",
113*e1eccf28SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
114*e1eccf28SAndroid Build Coastguard Worker        "-Wno-unused-variable",
115*e1eccf28SAndroid Build Coastguard Worker    ],
116*e1eccf28SAndroid Build Coastguard Worker}
117