xref: /aosp_15_r20/frameworks/native/services/gpuservice/Android.bp (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1*38e8c45fSAndroid Build Coastguard Workerpackage {
2*38e8c45fSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*38e8c45fSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*38e8c45fSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_native_license"
5*38e8c45fSAndroid Build Coastguard Worker    // to get the below license kinds:
6*38e8c45fSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*38e8c45fSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_native_license"],
8*38e8c45fSAndroid Build Coastguard Worker}
9*38e8c45fSAndroid Build Coastguard Worker
10*38e8c45fSAndroid Build Coastguard Workercc_defaults {
11*38e8c45fSAndroid Build Coastguard Worker    name: "gpuservice_defaults",
12*38e8c45fSAndroid Build Coastguard Worker    cflags: [
13*38e8c45fSAndroid Build Coastguard Worker        "-Wall",
14*38e8c45fSAndroid Build Coastguard Worker        "-Werror",
15*38e8c45fSAndroid Build Coastguard Worker        "-Wformat",
16*38e8c45fSAndroid Build Coastguard Worker        "-Wthread-safety",
17*38e8c45fSAndroid Build Coastguard Worker        "-Wunused",
18*38e8c45fSAndroid Build Coastguard Worker        "-Wunreachable-code",
19*38e8c45fSAndroid Build Coastguard Worker    ],
20*38e8c45fSAndroid Build Coastguard Worker}
21*38e8c45fSAndroid Build Coastguard Worker
22*38e8c45fSAndroid Build Coastguard Workercc_defaults {
23*38e8c45fSAndroid Build Coastguard Worker    name: "libgpuservice_defaults",
24*38e8c45fSAndroid Build Coastguard Worker    defaults: [
25*38e8c45fSAndroid Build Coastguard Worker        "gpuservice_defaults",
26*38e8c45fSAndroid Build Coastguard Worker        "libgfxstats_deps",
27*38e8c45fSAndroid Build Coastguard Worker        "libgpumem_deps",
28*38e8c45fSAndroid Build Coastguard Worker        "libgpumemtracer_deps",
29*38e8c45fSAndroid Build Coastguard Worker        "libvkjson_deps",
30*38e8c45fSAndroid Build Coastguard Worker        "libvkprofiles_deps",
31*38e8c45fSAndroid Build Coastguard Worker    ],
32*38e8c45fSAndroid Build Coastguard Worker    cflags: [
33*38e8c45fSAndroid Build Coastguard Worker        "-DLOG_TAG=\"GpuService\"",
34*38e8c45fSAndroid Build Coastguard Worker    ],
35*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
36*38e8c45fSAndroid Build Coastguard Worker        "libbase",
37*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
38*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
39*38e8c45fSAndroid Build Coastguard Worker        "libgpuwork",
40*38e8c45fSAndroid Build Coastguard Worker        "libgraphicsenv",
41*38e8c45fSAndroid Build Coastguard Worker        "liblog",
42*38e8c45fSAndroid Build Coastguard Worker        "libutils",
43*38e8c45fSAndroid Build Coastguard Worker    ],
44*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
45*38e8c45fSAndroid Build Coastguard Worker        "libgfxstats",
46*38e8c45fSAndroid Build Coastguard Worker        "libgpumem",
47*38e8c45fSAndroid Build Coastguard Worker        "libgpumemtracer",
48*38e8c45fSAndroid Build Coastguard Worker        "libserviceutils",
49*38e8c45fSAndroid Build Coastguard Worker        "libvkjson",
50*38e8c45fSAndroid Build Coastguard Worker        "libvkprofiles",
51*38e8c45fSAndroid Build Coastguard Worker    ],
52*38e8c45fSAndroid Build Coastguard Worker    export_static_lib_headers: [
53*38e8c45fSAndroid Build Coastguard Worker        "libserviceutils",
54*38e8c45fSAndroid Build Coastguard Worker    ],
55*38e8c45fSAndroid Build Coastguard Worker    export_shared_lib_headers: [
56*38e8c45fSAndroid Build Coastguard Worker        "libgraphicsenv",
57*38e8c45fSAndroid Build Coastguard Worker    ],
58*38e8c45fSAndroid Build Coastguard Worker}
59*38e8c45fSAndroid Build Coastguard Worker
60*38e8c45fSAndroid Build Coastguard Workercc_defaults {
61*38e8c45fSAndroid Build Coastguard Worker    name: "libgpuservice_production_defaults",
62*38e8c45fSAndroid Build Coastguard Worker    defaults: ["libgpuservice_defaults"],
63*38e8c45fSAndroid Build Coastguard Worker    cflags: [
64*38e8c45fSAndroid Build Coastguard Worker        "-fvisibility=hidden",
65*38e8c45fSAndroid Build Coastguard Worker    ],
66*38e8c45fSAndroid Build Coastguard Worker    lto: {
67*38e8c45fSAndroid Build Coastguard Worker        thin: true,
68*38e8c45fSAndroid Build Coastguard Worker    },
69*38e8c45fSAndroid Build Coastguard Worker    whole_program_vtables: true, // Requires ThinLTO
70*38e8c45fSAndroid Build Coastguard Worker}
71*38e8c45fSAndroid Build Coastguard Worker
72*38e8c45fSAndroid Build Coastguard Workerfilegroup {
73*38e8c45fSAndroid Build Coastguard Worker    name: "libgpuservice_sources",
74*38e8c45fSAndroid Build Coastguard Worker    srcs: [
75*38e8c45fSAndroid Build Coastguard Worker        "GpuService.cpp",
76*38e8c45fSAndroid Build Coastguard Worker    ],
77*38e8c45fSAndroid Build Coastguard Worker}
78*38e8c45fSAndroid Build Coastguard Worker
79*38e8c45fSAndroid Build Coastguard Workercc_library_static {
80*38e8c45fSAndroid Build Coastguard Worker    name: "libgpuservice",
81*38e8c45fSAndroid Build Coastguard Worker    defaults: ["libgpuservice_production_defaults"],
82*38e8c45fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
83*38e8c45fSAndroid Build Coastguard Worker    srcs: [
84*38e8c45fSAndroid Build Coastguard Worker        ":libgpuservice_sources",
85*38e8c45fSAndroid Build Coastguard Worker    ],
86*38e8c45fSAndroid Build Coastguard Worker}
87*38e8c45fSAndroid Build Coastguard Worker
88*38e8c45fSAndroid Build Coastguard Workercc_defaults {
89*38e8c45fSAndroid Build Coastguard Worker    name: "libgpuservice_binary",
90*38e8c45fSAndroid Build Coastguard Worker    defaults: ["gpuservice_defaults"],
91*38e8c45fSAndroid Build Coastguard Worker    shared_libs: [
92*38e8c45fSAndroid Build Coastguard Worker        "libbinder",
93*38e8c45fSAndroid Build Coastguard Worker        "libcutils",
94*38e8c45fSAndroid Build Coastguard Worker        "liblog",
95*38e8c45fSAndroid Build Coastguard Worker        "libutils",
96*38e8c45fSAndroid Build Coastguard Worker    ],
97*38e8c45fSAndroid Build Coastguard Worker    ldflags: ["-Wl,--export-dynamic"],
98*38e8c45fSAndroid Build Coastguard Worker}
99*38e8c45fSAndroid Build Coastguard Worker
100*38e8c45fSAndroid Build Coastguard Workerfilegroup {
101*38e8c45fSAndroid Build Coastguard Worker    name: "gpuservice_binary_sources",
102*38e8c45fSAndroid Build Coastguard Worker    srcs: ["main_gpuservice.cpp"],
103*38e8c45fSAndroid Build Coastguard Worker}
104*38e8c45fSAndroid Build Coastguard Worker
105*38e8c45fSAndroid Build Coastguard Workercc_binary {
106*38e8c45fSAndroid Build Coastguard Worker    name: "gpuservice",
107*38e8c45fSAndroid Build Coastguard Worker    defaults: [
108*38e8c45fSAndroid Build Coastguard Worker        "libgpuservice_binary",
109*38e8c45fSAndroid Build Coastguard Worker        "libgpuservice_production_defaults",
110*38e8c45fSAndroid Build Coastguard Worker    ],
111*38e8c45fSAndroid Build Coastguard Worker    init_rc: ["gpuservice.rc"],
112*38e8c45fSAndroid Build Coastguard Worker    required: [
113*38e8c45fSAndroid Build Coastguard Worker        "bpfloader",
114*38e8c45fSAndroid Build Coastguard Worker        "gpuMem.o",
115*38e8c45fSAndroid Build Coastguard Worker    ],
116*38e8c45fSAndroid Build Coastguard Worker    srcs: [":gpuservice_binary_sources"],
117*38e8c45fSAndroid Build Coastguard Worker    static_libs: [
118*38e8c45fSAndroid Build Coastguard Worker        "libgpuservice",
119*38e8c45fSAndroid Build Coastguard Worker    ],
120*38e8c45fSAndroid Build Coastguard Worker}
121