1# Copyright (c) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15
16group("display_group") {
17  deps = [
18    ":def_display_device",
19    ":def_display_gralloc",
20  ]
21}
22
23ohos_shared_library("def_display_gralloc") {
24  sources = [
25    "src/display_gralloc/allocator.cpp",
26    "src/display_gralloc/allocator_manager.cpp",
27    "src/display_gralloc/display_gralloc.cpp",
28    "src/display_gralloc/dmabufferheap_allocator.cpp",
29    "src/display_gralloc/drm_allocator.cpp",
30    "src/display_gralloc/framebuffer_allocator.cpp",
31    "src/utils/display_adapter.cpp",
32  ]
33  include_dirs = [
34    "include",
35    "../../interfaces/include",
36    "src/utils/",
37  ]
38
39  output_name = "display_gralloc"
40  cflags = [ "-Wno-macro-redefined" ]
41  deps = [ "//third_party/libdrm:libdrm" ]
42
43  external_deps = [
44    "c_utils:utils",
45    "hdf_core:libhdf_utils",
46    "hilog:libhilog",
47    "memory_utils:libdmabufheap",
48  ]
49
50  install_enable = true
51  install_images = [ chipset_base_dir ]
52  subsystem_name = "hdf"
53  part_name = "drivers_peripheral_display"
54}
55
56config("def_display_device_pub_config") {
57  visibility = [ ":*" ]
58
59  include_dirs = [
60    "//drivers/peripheral/display/interfaces/include",
61    "./src/display_device",
62    "./include",
63  ]
64}
65
66ohos_shared_library("def_display_device") {
67  sources = [
68    "src/display_device/composer/hdi_composer.cpp",
69    "src/display_device/composer/hdi_gfx_composition.cpp",
70    "src/display_device/composer/hdi_video_composition.cpp",
71    "src/display_device/core/hdi_device_interface.cpp",
72    "src/display_device/core/hdi_display.cpp",
73    "src/display_device/core/hdi_layer.cpp",
74    "src/display_device/core/hdi_session.cpp",
75    "src/display_device/drm/drm_connector.cpp",
76    "src/display_device/drm/drm_crtc.cpp",
77    "src/display_device/drm/drm_device.cpp",
78    "src/display_device/drm/drm_display.cpp",
79    "src/display_device/drm/drm_encoder.cpp",
80    "src/display_device/drm/drm_plane.cpp",
81    "src/display_device/drm/drm_vsync_worker.cpp",
82    "src/display_device/drm/hdi_drm_composition.cpp",
83    "src/display_device/drm/hdi_drm_layer.cpp",
84    "src/display_device/fbdev/fb_composition.cpp",
85    "src/display_device/fbdev/fb_device.cpp",
86    "src/display_device/fbdev/fb_display.cpp",
87    "src/display_device/vsync/sorft_vsync.cpp",
88    "src/utils/display_adapter.cpp",
89  ]
90  public_configs = [ ":def_display_device_pub_config" ]
91
92  output_name = "display_device"
93
94  include_dirs = [
95    "src/display_device",
96    "include",
97    "../../interfaces/include",
98    "src/display_device/drm",
99    "src/display_device/fbdev",
100    "src/display_device/core",
101    "src/display_device/composer",
102    "src/utils",
103  ]
104
105  deps = [
106    ":def_display_layer_video",
107    "../:hdi_display_gralloc",
108    "//third_party/libdrm:libdrm",
109  ]
110
111  cflags = [ "-Wno-unused-function" ]
112
113  external_deps = [
114    "c_utils:utils",
115    "hdf_core:libhdf_utils",
116    "hilog:libhilog",
117    "hitrace:hitrace_meter",
118  ]
119
120  symlink_target_name = [ "libdisplay_layer.z.so" ]
121
122  install_enable = true
123  install_images = [ system_base_dir ]
124  relative_install_dir = "chipset-sdk"
125  subsystem_name = "hdf"
126  part_name = "drivers_peripheral_display"
127}
128
129ohos_shared_library("def_display_layer_video") {
130  sources = [ "src/display_layer_video/display_layer_video.cpp" ]
131  public_configs = [ ":def_display_device_pub_config" ]
132
133  output_name = "display_layer_video"
134  include_dirs = [
135    "../../interfaces/include",
136    "../../hdi_service/video_layer/client",
137  ]
138
139  external_deps = [
140    "c_utils:utils",
141    "hdf_core:libhdf_host",
142    "hdf_core:libhdf_ipc_adapter",
143    "hdf_core:libhdf_utils",
144    "hdf_core:libhdi",
145    "hilog:libhilog",
146    "ipc:ipc_single",
147  ]
148
149  public_deps = [ "../../hdi_service/video_layer/client:video_layer_client" ]
150
151  install_enable = true
152  install_images = [ chipset_base_dir ]
153  subsystem_name = "hdf"
154  part_name = "drivers_peripheral_display"
155}
156