blob: d3fa21e1f21281db60865a2eed9c2884adfde105 [file] [log] [blame]
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5// TODO: In later CLs, this build file will be replaced by a stand alone build that's not part of Android.
6
Jean-Luc Brouillet9b7aff52021-03-05 12:11:37 -08007cc_binary {
8 name: "renderscripttoolkittest",
9 srcs: [
10 "TestTaskProcessor.cpp"
11 ],
12 shared_libs: [
13 "libbase",
Jean-Luc Brouillet5d9c8b62021-03-10 15:25:06 -080014 "librenderscripttoolkit",
Jean-Luc Brouillet9b7aff52021-03-05 12:11:37 -080015 ],
16}
17
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -080018cc_library_shared {
19 name: "librenderscripttoolkit",
20 defaults: [],
21 vendor_available: false,
22 native_bridge_supported: false,
23 vndk: {
24 enabled: false,
25 support_system_process: false,
26 },
27
28 srcs: [
Jean-Luc Brouillet5d9c8b62021-03-10 15:25:06 -080029 "Blend.cpp",
30 "Blur.cpp",
31 "ColorMatrix.cpp",
32 "Convolve3x3.cpp",
33 "Convolve5x5.cpp",
34 "Histogram.cpp",
35 "Lut.cpp",
36 "Lut3d.cpp",
37 "RenderScriptToolkit.cpp",
38 "Resize.cpp",
39 "TaskProcessor.cpp",
40 "Utils.cpp",
41 "YuvToRgb.cpp",
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -080042 ],
43
Jean-Luc Brouillet9b7aff52021-03-05 12:11:37 -080044 static_libs: [ "cpufeatures" ],
45
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -080046 arch: {
47 arm64: {
48 cflags: [
49 "-DARCH_ARM_USE_INTRINSICS",
50 "-DARCH_ARM64_USE_INTRINSICS",
51 "-DARCH_ARM64_HAVE_NEON",
52 ],
53
54 srcs: [
55 "Blend_advsimd.S",
56 "Blur_advsimd.S",
57 "ColorMatrix_advsimd.S",
58 "Convolve_advsimd.S",
59 "Lut3d_advsimd.S",
60 "Resize_advsimd.S",
61 "YuvToRgb_advsimd.S",
62 ],
63 },
64
65 arm: {
66 cflags: [
67 "-DARCH_ARM_HAVE_VFP",
68 "-DARCH_ARM_USE_INTRINSICS",
69 ],
70
71 srcs: [
72 "Blend_neon.S",
73 "Blur_neon.S",
74 "ColorMatrix_neon.S",
75 "Convolve_neon.S",
76 "Lut3d_neon.S",
77 "Resize_neon.S",
78 "YuvToRgb_neon.S",
79 ],
80
81 asflags: ["-mfpu=neon"],
82
83 neon: {
84 cflags: [
85 "-DARCH_ARM_HAVE_NEON",
86 ],
87 },
88 },
89
90 x86: {
91 cflags: ["-DARCH_X86_HAVE_SSSE3"],
92 srcs: ["x86.cpp"],
93 },
94 x86_64: {
95 cflags: ["-DARCH_X86_HAVE_SSSE3"],
96 srcs: ["x86.cpp"],
Jean-Luc Brouillet5d9c8b62021-03-10 15:25:06 -080097 avx2: {
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -080098 cflags: ["-DARCH_X86_HAVE_AVX2", "-mavx2", "-mfma"],
99 },
100 },
101 },
102
103 shared_libs: [
Jean-Luc Brouillet9b7aff52021-03-05 12:11:37 -0800104 "libbase",
Jean-Luc Brouillet5d9c8b62021-03-10 15:25:06 -0800105 "liblog",
106 "libnativehelper",
107 "libjnigraphics",
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -0800108 ],
109 header_libs: [
110 // TODO Once we compile in the .cpp files, check if any of these libraries are needed.
111 //"libutils_headers",
112 //"libhardware_headers",
113 ],
114
115 include_dirs: [
116 ],
117
118 cflags: [
Jean-Luc Brouillet9b7aff52021-03-05 12:11:37 -0800119 "-Wthread-safety",
Jean-Luc Brouillet7140c082021-03-02 10:28:22 -0800120 "-Werror",
121 "-Wall",
122 "-Wextra",
123 "-Wno-unused-parameter",
124 "-Wno-unused-variable",
125 ],
126
127 // TODO: Is this needed?
128 product_variables: {
129 pdk: {
130 // Not building RenderScript modules in PDK builds, as libmediandk
131 // is not available in PDK.
132 enabled: false,
133 },
134 },
135}