1*32afb93cSXin Li/*
2*32afb93cSXin Li * Copyright 2022 The Android Open Source Project
3*32afb93cSXin Li *
4*32afb93cSXin Li * Licensed under the Apache License, Version 2.0 (the "License");
5*32afb93cSXin Li * you may not use this file except in compliance with the License.
6*32afb93cSXin Li * You may obtain a copy of the License at
7*32afb93cSXin Li *
8*32afb93cSXin Li *      http://www.apache.org/licenses/LICENSE-2.0
9*32afb93cSXin Li *
10*32afb93cSXin Li * Unless required by applicable law or agreed to in writing, software
11*32afb93cSXin Li * distributed under the License is distributed on an "AS IS" BASIS,
12*32afb93cSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*32afb93cSXin Li * See the License for the specific language governing permissions and
14*32afb93cSXin Li * limitations under the License.
15*32afb93cSXin Li */
16*32afb93cSXin Li
17*32afb93cSXin Lipackage {
18*32afb93cSXin Li    // See: http://go/android-license-faq
19*32afb93cSXin Li    // A large-scale-change added 'default_applicable_licenses' to import
20*32afb93cSXin Li    // all of the 'license_kinds' from "external_renderscript_intrinsics_replacement_toolkit_license"
21*32afb93cSXin Li    // to get the below license kinds:
22*32afb93cSXin Li    //   SPDX-license-identifier-Apache-2.0
23*32afb93cSXin Li    default_applicable_licenses: [
24*32afb93cSXin Li        "external_renderscript_intrinsics_replacement_toolkit_license",
25*32afb93cSXin Li    ],
26*32afb93cSXin Li}
27*32afb93cSXin Li
28*32afb93cSXin Licc_defaults {
29*32afb93cSXin Li    name: "renderscripttoolkit_native_defaults",
30*32afb93cSXin Li    sdk_version: "current",
31*32afb93cSXin Li    static_libs: [
32*32afb93cSXin Li        "cpufeatures",
33*32afb93cSXin Li    ],
34*32afb93cSXin Li    shared_libs: [
35*32afb93cSXin Li        "libjnigraphics",
36*32afb93cSXin Li        "liblog",
37*32afb93cSXin Li    ],
38*32afb93cSXin Li    cflags: [
39*32afb93cSXin Li        "-Wall",
40*32afb93cSXin Li        "-Werror",
41*32afb93cSXin Li        "-Wextra",
42*32afb93cSXin Li        "-Wno-unused-parameter",
43*32afb93cSXin Li        "-Wno-unused-variable",
44*32afb93cSXin Li        "-Wthread-safety",
45*32afb93cSXin Li    ],
46*32afb93cSXin Li    stl: "libc++_static",
47*32afb93cSXin Li}
48*32afb93cSXin Li
49*32afb93cSXin Licc_library_static {
50*32afb93cSXin Li    name: "librenderscripttoolkit_native_static",
51*32afb93cSXin Li    defaults: ["renderscripttoolkit_native_defaults"],
52*32afb93cSXin Li    srcs: [
53*32afb93cSXin Li        "Blend.cpp",
54*32afb93cSXin Li        "Blur.cpp",
55*32afb93cSXin Li        "ColorMatrix.cpp",
56*32afb93cSXin Li        "Convolve3x3.cpp",
57*32afb93cSXin Li        "Convolve5x5.cpp",
58*32afb93cSXin Li        "Histogram.cpp",
59*32afb93cSXin Li        "Lut.cpp",
60*32afb93cSXin Li        "Lut3d.cpp",
61*32afb93cSXin Li        "RenderScriptToolkit.cpp",
62*32afb93cSXin Li        "Resize.cpp",
63*32afb93cSXin Li        "TaskProcessor.cpp",
64*32afb93cSXin Li        "Utils.cpp",
65*32afb93cSXin Li        "YuvToRgb.cpp",
66*32afb93cSXin Li    ],
67*32afb93cSXin Li    arch: {
68*32afb93cSXin Li        arm64: {
69*32afb93cSXin Li            cflags: [
70*32afb93cSXin Li                "-DARCH_ARM64_HAVE_NEON",
71*32afb93cSXin Li                "-DARCH_ARM64_USE_INTRINSICS",
72*32afb93cSXin Li                "-DARCH_ARM_USE_INTRINSICS",
73*32afb93cSXin Li            ],
74*32afb93cSXin Li            srcs: [
75*32afb93cSXin Li                "Blend_advsimd.S",
76*32afb93cSXin Li                "Blur_advsimd.S",
77*32afb93cSXin Li                "ColorMatrix_advsimd.S",
78*32afb93cSXin Li                "Convolve_advsimd.S",
79*32afb93cSXin Li                "Lut3d_advsimd.S",
80*32afb93cSXin Li                "Resize_advsimd.S",
81*32afb93cSXin Li                "YuvToRgb_advsimd.S",
82*32afb93cSXin Li            ],
83*32afb93cSXin Li        },
84*32afb93cSXin Li        arm: {
85*32afb93cSXin Li            cflags: [
86*32afb93cSXin Li                "-DARCH_ARM_HAVE_NEON",
87*32afb93cSXin Li                "-DARCH_ARM_HAVE_VFP",
88*32afb93cSXin Li                "-DARCH_ARM_USE_INTRINSICS",
89*32afb93cSXin Li            ],
90*32afb93cSXin Li            srcs: [
91*32afb93cSXin Li                "Blend_neon.S",
92*32afb93cSXin Li                "Blur_neon.S",
93*32afb93cSXin Li                "ColorMatrix_neon.S",
94*32afb93cSXin Li                "Convolve_neon.S",
95*32afb93cSXin Li                "Lut3d_neon.S",
96*32afb93cSXin Li                "Resize_neon.S",
97*32afb93cSXin Li                "YuvToRgb_neon.S",
98*32afb93cSXin Li            ],
99*32afb93cSXin Li        },
100*32afb93cSXin Li    },
101*32afb93cSXin Li}
102*32afb93cSXin Li
103*32afb93cSXin Licc_library_shared {
104*32afb93cSXin Li    name: "librenderscript-toolkit",
105*32afb93cSXin Li    defaults: ["renderscripttoolkit_native_defaults"],
106*32afb93cSXin Li    srcs: ["JniEntryPoints.cpp"],
107*32afb93cSXin Li    static_libs: [
108*32afb93cSXin Li        "librenderscripttoolkit_native_static",
109*32afb93cSXin Li    ],
110*32afb93cSXin Li    header_libs: ["jni_headers"],
111*32afb93cSXin Li}
112