xref: /aosp_15_r20/external/minigbm/cros_gralloc/gralloc4/Android.bp (revision d95af8df99a05bcb8679a54dc3ab8e5cd312b38e)
1//
2// Copyright (C) 2020 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15
16package {
17    // See: http://go/android-license-faq
18    // A large-scale-change added 'default_applicable_licenses' to import
19    // all of the 'license_kinds' from "external_minigbm_license"
20    // to get the below license kinds:
21    //   SPDX-license-identifier-Apache-2.0
22    //   SPDX-license-identifier-BSD
23    default_applicable_licenses: ["external_minigbm_license"],
24}
25
26filegroup {
27    name: "minigbm_gralloc4_allocator_files",
28    srcs: [
29        "CrosGralloc4Allocator.cc",
30        "CrosGralloc4AllocatorService.cc",
31        "CrosGralloc4Utils.cc",
32    ],
33}
34
35filegroup {
36    name: "minigbm_gralloc4_mapper_files",
37    srcs: [
38        "CrosGralloc4Mapper.cc",
39        "CrosGralloc4Utils.cc",
40    ],
41}
42
43cc_library {
44    name: "libminigbm_gralloc4_utils",
45    defaults: ["minigbm_cros_gralloc_defaults"],
46    vendor: true,
47    srcs: [
48        "CrosGralloc4Utils.cc",
49    ],
50    shared_libs: [
51        "[email protected]",
52        "libgralloctypes",
53        "libhidlbase",
54        "libminigbm_gralloc",
55    ],
56}
57
58cc_defaults {
59    name: "minigbm_gralloc4_common_defaults",
60    defaults: ["minigbm_cros_gralloc_defaults"],
61
62    shared_libs: [
63        "[email protected]",
64        "libgralloctypes",
65        "libhidlbase",
66        "libbase",
67        "libutils",
68    ],
69
70    cflags: ["-Wno-sign-compare"],
71    relative_install_path: "hw",
72}
73
74cc_defaults {
75    name: "minigbm_gralloc4_allocator_defaults",
76    defaults: ["minigbm_gralloc4_common_defaults"],
77
78    shared_libs: ["[email protected]"],
79    srcs: [":minigbm_gralloc4_allocator_files"],
80}
81
82vintf_fragment {
83    name: "[email protected]",
84    src: "[email protected]",
85    vendor: true,
86}
87
88cc_binary {
89    name: "[email protected]",
90    defaults: ["minigbm_gralloc4_allocator_defaults"],
91    shared_libs: ["libminigbm_gralloc"],
92    vintf_fragment_modules: ["[email protected]"],
93    init_rc: ["[email protected]"],
94}
95
96cc_binary {
97    name: "[email protected]_msm",
98    defaults: ["minigbm_gralloc4_allocator_defaults"],
99    shared_libs: ["libminigbm_gralloc_msm"],
100    vintf_fragment_modules: ["[email protected]"],
101    init_rc: ["[email protected]_msm.rc"],
102}
103
104cc_binary {
105    name: "[email protected]_arcvm",
106    defaults: ["minigbm_gralloc4_allocator_defaults"],
107    shared_libs: ["libminigbm_gralloc_arcvm"],
108    vintf_fragment_modules: ["[email protected]"],
109    init_rc: ["[email protected]_arcvm.rc"],
110}
111
112cc_binary {
113    name: "[email protected]_intel",
114    defaults: ["minigbm_gralloc4_allocator_defaults"],
115    shared_libs: ["libminigbm_gralloc_intel"],
116    vintf_fragment_modules: ["[email protected]"],
117    init_rc: ["[email protected]_intel.rc"],
118    enabled: false,
119    arch: {
120        x86: {
121            enabled: true,
122        },
123        x86_64: {
124            enabled: true,
125        },
126    },
127}
128
129vintf_fragment {
130    name: "[email protected]",
131    src: "[email protected]",
132    vendor: true,
133}
134
135cc_library_shared {
136    name: "[email protected]",
137    defaults: ["minigbm_gralloc4_common_defaults"],
138    shared_libs: ["libminigbm_gralloc"],
139    vintf_fragment_modules: ["[email protected]"],
140    srcs: [":minigbm_gralloc4_mapper_files"],
141}
142
143cc_library_shared {
144    name: "[email protected]_msm",
145    defaults: ["minigbm_gralloc4_common_defaults"],
146    shared_libs: ["libminigbm_gralloc_msm"],
147    vintf_fragment_modules: ["[email protected]"],
148    srcs: [":minigbm_gralloc4_mapper_files"],
149}
150
151cc_library_shared {
152    name: "[email protected]_arcvm",
153    defaults: ["minigbm_gralloc4_common_defaults"],
154    shared_libs: ["libminigbm_gralloc_arcvm"],
155    vintf_fragment_modules: ["[email protected]"],
156    srcs: [":minigbm_gralloc4_mapper_files"],
157}
158
159cc_library_shared {
160    name: "[email protected]_intel",
161    defaults: ["minigbm_gralloc4_common_defaults"],
162    shared_libs: ["libminigbm_gralloc_intel"],
163    vintf_fragment_modules: ["[email protected]"],
164    srcs: [":minigbm_gralloc4_mapper_files"],
165    enabled: false,
166    arch: {
167        x86: {
168            enabled: true,
169        },
170        x86_64: {
171            enabled: true,
172        },
173    },
174}
175