blob: 62c7e0cbeecb9fa94d86197ec0cc6270f63041a2 [file] [log] [blame]
Colin Crosscdf4b492019-03-22 13:13:12 -07001// Copyright (C) 2015 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Bob Badour86bdae72021-02-12 15:32:15 -080015package {
16 default_applicable_licenses: ["external_drm_hwcomposer_license"],
17}
18
19// Added automatically by a large-scale-change
20// See: http://go/android-license-faq
21license {
22 name: "external_drm_hwcomposer_license",
23 visibility: [":__subpackages__"],
24 license_kinds: [
25 "SPDX-license-identifier-Apache-2.0",
26 ],
27 license_text: [
28 "NOTICE",
29 ],
30}
31
Roman Stratiienko4dfa62d2022-11-16 15:16:39 +020032cc_library_headers {
33 name: "drm_hwcomposer_headers",
Colin Crosscdf4b492019-03-22 13:13:12 -070034 vendor: true,
Roman Stratiienko4dfa62d2022-11-16 15:16:39 +020035 export_include_dirs: ["."],
Colin Crosscdf4b492019-03-22 13:13:12 -070036}
37
38// =====================
39// hwcomposer.drm.so
40// =====================
41cc_defaults {
42 name: "hwcomposer.drm_defaults",
43
44 shared_libs: [
45 "libcutils",
46 "libdrm",
47 "libhardware",
Roman Stratiienkoadd24cb2020-10-23 22:28:38 +030048 "libhidlbase",
Colin Crosscdf4b492019-03-22 13:13:12 -070049 "liblog",
50 "libsync",
51 "libui",
52 "libutils",
53 ],
54
Roman Stratiienko4dfa62d2022-11-16 15:16:39 +020055 header_libs: ["drm_hwcomposer_headers"],
Colin Crosscdf4b492019-03-22 13:13:12 -070056
Colin Crosscce12782019-03-29 10:27:23 -070057 cflags: [
58 "-Wall",
59 "-Werror",
60 ],
61
62 cppflags: [
Colin Crosscce12782019-03-29 10:27:23 -070063 "-DHWC2_INCLUDE_STRINGIFICATION",
Roman Stratiienkod6659982021-02-27 22:08:51 +020064 "-DHWC2_USE_CPP11",
Mauro Rossia8927b82021-12-04 15:02:13 +010065 "-std=c++17",
Colin Crosscce12782019-03-29 10:27:23 -070066 ],
67
68 relative_install_path: "hw",
69 vendor: true,
70}
Roman Stratiienkod6659982021-02-27 22:08:51 +020071
Roman Stratiienko0ee8f582021-10-28 15:52:38 +030072filegroup {
Roman Stratiienkobdc43822023-06-27 21:23:50 +030073 name: "drm_hwcomposer_fd",
74 srcs: ["utils/fd.cpp"],
75}
76
77filegroup {
Roman Stratiienko0ee8f582021-10-28 15:52:38 +030078 name: "drm_hwcomposer_common",
Colin Crosscdf4b492019-03-22 13:13:12 -070079 srcs: [
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +030080 "bufferinfo/BufferInfoGetter.cpp",
81 "bufferinfo/BufferInfoMapperMetadata.cpp",
82
Roman Stratiienko9362cef2022-02-02 09:53:50 +020083 "compositor/DrmKmsPlan.cpp",
Roman Stratiienko22fe9612023-01-17 21:22:29 +020084 "compositor/FlatteningController.cpp",
Sean Paul27cd4802019-04-02 16:57:20 -040085
Roman Stratiienko4e994052022-02-09 17:40:35 +020086 "drm/DrmAtomicStateManager.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030087 "drm/DrmConnector.cpp",
88 "drm/DrmCrtc.cpp",
89 "drm/DrmDevice.cpp",
Roman Stratiienkocad8e0c2022-01-31 16:40:16 +020090 "drm/DrmDisplayPipeline.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030091 "drm/DrmEncoder.cpp",
Roman Stratiienko8666dc92021-02-09 17:49:55 +020092 "drm/DrmFbImporter.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030093 "drm/DrmMode.cpp",
94 "drm/DrmPlane.cpp",
95 "drm/DrmProperty.cpp",
96 "drm/ResourceManager.cpp",
Roman Stratiienko1e053b42021-10-25 22:54:20 +030097 "drm/UEventListener.cpp",
Roman Stratiienko13cc3662020-08-29 21:35:39 +030098 "drm/VSyncWorker.cpp",
Sean Paul27cd4802019-04-02 16:57:20 -040099
Roman Stratiienko13cc3662020-08-29 21:35:39 +0300100 "backend/Backend.cpp",
101 "backend/BackendClient.cpp",
Roman Stratiienkod6659982021-02-27 22:08:51 +0200102 "backend/BackendManager.cpp",
Roman Stratiienko26fd2b22022-01-04 12:59:29 +0200103
Roman Stratiienko3e168902022-01-04 16:13:12 +0200104 "hwc2_device/DrmHwcTwo.cpp",
Roman Stratiienko3627beb2022-01-04 16:02:55 +0200105 "hwc2_device/HwcDisplay.cpp",
Roman Stratiienko0137f862022-01-04 18:27:40 +0200106 "hwc2_device/HwcDisplayConfigs.cpp",
Roman Stratiienko03fd35c2022-01-04 14:30:37 +0200107 "hwc2_device/HwcLayer.cpp",
Roman Stratiienko26fd2b22022-01-04 12:59:29 +0200108 "hwc2_device/hwc2_device.cpp",
Roman Stratiienko76892782023-01-16 17:15:53 +0200109
110 "utils/fd.cpp",
Colin Crosscdf4b492019-03-22 13:13:12 -0700111 ],
Colin Crosscdf4b492019-03-22 13:13:12 -0700112}
113
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300114// Kept only for compatibility with older Android version. Please do not use!
115cc_library_static {
116 name: "drm_hwcomposer",
117 defaults: ["hwcomposer.drm_defaults"],
118 srcs: [":drm_hwcomposer_common"],
119}
120
Colin Crosscdf4b492019-03-22 13:13:12 -0700121cc_library_shared {
122 name: "hwcomposer.drm",
123 defaults: ["hwcomposer.drm_defaults"],
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300124 srcs: [
125 ":drm_hwcomposer_common",
126 "bufferinfo/legacy/BufferInfoLibdrm.cpp",
127 ],
128 cflags: ["-DUSE_IMAPPER4_METADATA_API"],
Colin Crosscdf4b492019-03-22 13:13:12 -0700129}
130
131cc_library_shared {
Colin Crosscdf4b492019-03-22 13:13:12 -0700132 name: "hwcomposer.drm_minigbm",
133 defaults: ["hwcomposer.drm_defaults"],
Roman Stratiienko0ee8f582021-10-28 15:52:38 +0300134 srcs: [
135 ":drm_hwcomposer_common",
136 "bufferinfo/legacy/BufferInfoMinigbm.cpp",
137 ],
Colin Crosscdf4b492019-03-22 13:13:12 -0700138}
139
Roman Stratiienkoe3ed48d2019-10-17 17:42:36 +0300140// Used by hwcomposer.drm_imagination
141filegroup {
142 name: "drm_hwcomposer_platformimagination",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300143 srcs: ["bufferinfo/legacy/BufferInfoImagination.cpp"],
Roman Stratiienkoe3ed48d2019-10-17 17:42:36 +0300144}
145
Colin Crosscce12782019-03-29 10:27:23 -0700146// Used by hwcomposer.drm_hikey and hwcomposer.drm_hikey960
147filegroup {
148 name: "drm_hwcomposer_platformhisi",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300149 srcs: ["bufferinfo/legacy/BufferInfoMaliHisi.cpp"],
Colin Crosscce12782019-03-29 10:27:23 -0700150}
Neil Armstrong17d3c8b2019-04-25 15:17:22 +0000151
152// Used by hwcomposer.drm_meson
153filegroup {
154 name: "drm_hwcomposer_platformmeson",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300155 srcs: ["bufferinfo/legacy/BufferInfoMaliMeson.cpp"],
Neil Armstrong17d3c8b2019-04-25 15:17:22 +0000156}
Mattijs Korpershoek5284c7e2020-09-21 11:03:35 +0000157
158// Used by hwcomposer.drm_mediatek
159filegroup {
160 name: "drm_hwcomposer_platformmediatek",
Roman Stratiienkob2e9fe22020-10-03 10:52:36 +0300161 srcs: ["bufferinfo/legacy/BufferInfoMaliMediatek.cpp"],
Mattijs Korpershoek5284c7e2020-09-21 11:03:35 +0000162}