summaryrefslogtreecommitdiff
path: root/services/gpuservice/Android.bp
blob: b9b6a1960646b11ce0d8241ad28b33ec89b7b57d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_native_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_native_license"],
}

cc_defaults {
    name: "gpuservice_defaults",
    cflags: [
        "-Wall",
        "-Werror",
        "-Wformat",
        "-Wthread-safety",
        "-Wunused",
        "-Wunreachable-code",
    ],
}

cc_defaults {
    name: "libgpuservice_defaults",
    defaults: ["gpuservice_defaults"],
    cflags: [
        "-DLOG_TAG=\"GpuService\"",
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "libcutils",
        "libgfxstats",
        "libgpumem",
        "libgpumemtracer",
        "libgraphicsenv",
        "liblog",
        "libutils",
        "libvkjson",
    ],
    static_libs: [
        "libserviceutils",
    ],
    export_static_lib_headers: [
        "libserviceutils",
    ],
    export_shared_lib_headers: [
        "libgraphicsenv",
    ],
}

cc_defaults {
    name: "libgpuservice_production_defaults",
    defaults: ["libgpuservice_defaults"],
    cflags: [
        "-fvisibility=hidden",
    ],
    lto: {
        thin: true,
    },
    whole_program_vtables: true, // Requires ThinLTO
}

filegroup {
    name: "libgpuservice_sources",
    srcs: [
        "GpuService.cpp",
    ],
}

cc_library_shared {
    name: "libgpuservice",
    defaults: ["libgpuservice_production_defaults"],
    srcs: [
        ":libgpuservice_sources",
    ],
}

cc_defaults {
    name: "libgpuservice_binary",
    defaults: ["gpuservice_defaults"],
    shared_libs: [
        "libbinder",
        "libcutils",
        "liblog",
        "libutils",
    ],
    ldflags: ["-Wl,--export-dynamic"],
}

filegroup {
    name: "gpuservice_binary_sources",
    srcs: ["main_gpuservice.cpp"],
}

cc_binary {
    name: "gpuservice",
    defaults: ["libgpuservice_binary"],
    init_rc: ["gpuservice.rc"],
    required: [
        "bpfloader",
        "gpu_mem.o",
    ],
    srcs: [":gpuservice_binary_sources"],
    shared_libs: [
        "libgpuservice",
    ],
}