xref: /aosp_15_r20/frameworks/rs/cpp/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 Workercc_library_static {
6*e1eccf28SAndroid Build Coastguard Worker    name: "libRSDispatch",
7*e1eccf28SAndroid Build Coastguard Worker    native_bridge_supported: true,
8*e1eccf28SAndroid Build Coastguard Worker    vendor_available: true,
9*e1eccf28SAndroid Build Coastguard Worker
10*e1eccf28SAndroid Build Coastguard Worker    srcs: ["rsDispatch.cpp"],
11*e1eccf28SAndroid Build Coastguard Worker
12*e1eccf28SAndroid Build Coastguard Worker    include_dirs: [
13*e1eccf28SAndroid Build Coastguard Worker        "frameworks/rs",
14*e1eccf28SAndroid Build Coastguard Worker    ],
15*e1eccf28SAndroid Build Coastguard Worker    header_libs: [
16*e1eccf28SAndroid Build Coastguard Worker        "jni_headers",
17*e1eccf28SAndroid Build Coastguard Worker    ],
18*e1eccf28SAndroid Build Coastguard Worker
19*e1eccf28SAndroid Build Coastguard Worker    cflags: [
20*e1eccf28SAndroid Build Coastguard Worker        "-Wall",
21*e1eccf28SAndroid Build Coastguard Worker        "-Werror",
22*e1eccf28SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
23*e1eccf28SAndroid Build Coastguard Worker        "-DRS_COMPATIBILITY_LIB",
24*e1eccf28SAndroid Build Coastguard Worker    ],
25*e1eccf28SAndroid Build Coastguard Worker
26*e1eccf28SAndroid Build Coastguard Worker
27*e1eccf28SAndroid Build Coastguard Worker    sdk_version: "9",
28*e1eccf28SAndroid Build Coastguard Worker    shared_libs: ["libdl", "liblog"],
29*e1eccf28SAndroid Build Coastguard Worker    // Used in librsjni, which is built as NDK code => no ASan.
30*e1eccf28SAndroid Build Coastguard Worker    sanitize: {
31*e1eccf28SAndroid Build Coastguard Worker        never: true,
32*e1eccf28SAndroid Build Coastguard Worker    },
33*e1eccf28SAndroid Build Coastguard Worker    stl: "none",
34*e1eccf28SAndroid Build Coastguard Worker}
35*e1eccf28SAndroid Build Coastguard Worker
36*e1eccf28SAndroid Build Coastguard Workercc_defaults {
37*e1eccf28SAndroid Build Coastguard Worker    name: "libRScpp-defaults",
38*e1eccf28SAndroid Build Coastguard Worker    defaults: ["rs-version"],
39*e1eccf28SAndroid Build Coastguard Worker
40*e1eccf28SAndroid Build Coastguard Worker    srcs: [
41*e1eccf28SAndroid Build Coastguard Worker        "RenderScript.cpp",
42*e1eccf28SAndroid Build Coastguard Worker        "BaseObj.cpp",
43*e1eccf28SAndroid Build Coastguard Worker        "Element.cpp",
44*e1eccf28SAndroid Build Coastguard Worker        "Type.cpp",
45*e1eccf28SAndroid Build Coastguard Worker        "Allocation.cpp",
46*e1eccf28SAndroid Build Coastguard Worker        "Script.cpp",
47*e1eccf28SAndroid Build Coastguard Worker        "ScriptC.cpp",
48*e1eccf28SAndroid Build Coastguard Worker        "ScriptIntrinsics.cpp",
49*e1eccf28SAndroid Build Coastguard Worker        "ScriptIntrinsicBLAS.cpp",
50*e1eccf28SAndroid Build Coastguard Worker        "Sampler.cpp",
51*e1eccf28SAndroid Build Coastguard Worker
52*e1eccf28SAndroid Build Coastguard Worker        // TODO: make this not a symlink
53*e1eccf28SAndroid Build Coastguard Worker        "rsCppUtils.cpp",
54*e1eccf28SAndroid Build Coastguard Worker    ],
55*e1eccf28SAndroid Build Coastguard Worker
56*e1eccf28SAndroid Build Coastguard Worker    cflags: [
57*e1eccf28SAndroid Build Coastguard Worker        "-Werror",
58*e1eccf28SAndroid Build Coastguard Worker        "-Wall",
59*e1eccf28SAndroid Build Coastguard Worker        "-Wextra",
60*e1eccf28SAndroid Build Coastguard Worker        "-Wno-deprecated-declarations",
61*e1eccf28SAndroid Build Coastguard Worker        "-Wno-unused-parameter",
62*e1eccf28SAndroid Build Coastguard Worker        "-Wno-unused-variable",
63*e1eccf28SAndroid Build Coastguard Worker    ],
64*e1eccf28SAndroid Build Coastguard Worker
65*e1eccf28SAndroid Build Coastguard Worker    // We need to export not just rs/cpp but also rs.  This is because
66*e1eccf28SAndroid Build Coastguard Worker    // RenderScript.h includes rsCppStructs.h, which includes rs/rsDefines.h.
67*e1eccf28SAndroid Build Coastguard Worker    header_libs: [
68*e1eccf28SAndroid Build Coastguard Worker        "jni_headers",
69*e1eccf28SAndroid Build Coastguard Worker        "rs-headers"
70*e1eccf28SAndroid Build Coastguard Worker    ],
71*e1eccf28SAndroid Build Coastguard Worker    export_header_lib_headers: [
72*e1eccf28SAndroid Build Coastguard Worker        "jni_headers",
73*e1eccf28SAndroid Build Coastguard Worker        "rs-headers"
74*e1eccf28SAndroid Build Coastguard Worker    ],
75*e1eccf28SAndroid Build Coastguard Worker    export_include_dirs: ["."],
76*e1eccf28SAndroid Build Coastguard Worker
77*e1eccf28SAndroid Build Coastguard Worker    shared_libs: [
78*e1eccf28SAndroid Build Coastguard Worker        "libdl",
79*e1eccf28SAndroid Build Coastguard Worker        "liblog",
80*e1eccf28SAndroid Build Coastguard Worker    ],
81*e1eccf28SAndroid Build Coastguard Worker}
82*e1eccf28SAndroid Build Coastguard Worker
83*e1eccf28SAndroid Build Coastguard Workercc_library {
84*e1eccf28SAndroid Build Coastguard Worker    name: "libRScpp",
85*e1eccf28SAndroid Build Coastguard Worker    defaults: ["libRScpp-defaults"],
86*e1eccf28SAndroid Build Coastguard Worker
87*e1eccf28SAndroid Build Coastguard Worker    header_libs: [
88*e1eccf28SAndroid Build Coastguard Worker        "libarect_headers",
89*e1eccf28SAndroid Build Coastguard Worker        "libbase_headers",
90*e1eccf28SAndroid Build Coastguard Worker        "libnativebase_headers",
91*e1eccf28SAndroid Build Coastguard Worker        "libnativewindow_headers",
92*e1eccf28SAndroid Build Coastguard Worker    ],
93*e1eccf28SAndroid Build Coastguard Worker
94*e1eccf28SAndroid Build Coastguard Worker    shared_libs: [
95*e1eccf28SAndroid Build Coastguard Worker        "libgui",
96*e1eccf28SAndroid Build Coastguard Worker        "libutils",
97*e1eccf28SAndroid Build Coastguard Worker    ],
98*e1eccf28SAndroid Build Coastguard Worker
99*e1eccf28SAndroid Build Coastguard Worker    static_libs: ["libRSDispatch"],
100*e1eccf28SAndroid Build Coastguard Worker}
101*e1eccf28SAndroid Build Coastguard Worker
102*e1eccf28SAndroid Build Coastguard Workercc_library_static {
103*e1eccf28SAndroid Build Coastguard Worker    name: "libRScpp_static",
104*e1eccf28SAndroid Build Coastguard Worker    defaults: ["libRScpp-defaults"],
105*e1eccf28SAndroid Build Coastguard Worker
106*e1eccf28SAndroid Build Coastguard Worker    cflags: ["-DRS_COMPATIBILITY_LIB"],
107*e1eccf28SAndroid Build Coastguard Worker
108*e1eccf28SAndroid Build Coastguard Worker    sdk_version: "9",
109*e1eccf28SAndroid Build Coastguard Worker    whole_static_libs: ["libRSDispatch"],
110*e1eccf28SAndroid Build Coastguard Worker
111*e1eccf28SAndroid Build Coastguard Worker    ldflags: [
112*e1eccf28SAndroid Build Coastguard Worker        "-Wl,--exclude-libs,libc++_static.a",
113*e1eccf28SAndroid Build Coastguard Worker    ],
114*e1eccf28SAndroid Build Coastguard Worker    stl: "c++_static",
115*e1eccf28SAndroid Build Coastguard Worker}
116