1094332d3Sopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
2094332d3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3094332d3Sopenharmony_ci# you may not use this file except in compliance with the License.
4094332d3Sopenharmony_ci# You may obtain a copy of the License at
5094332d3Sopenharmony_ci#
6094332d3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7094332d3Sopenharmony_ci#
8094332d3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9094332d3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10094332d3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11094332d3Sopenharmony_ci# See the License for the specific language governing permissions and
12094332d3Sopenharmony_ci# limitations under the License.
13094332d3Sopenharmony_ci
14094332d3Sopenharmony_ciimport("//build/ohos.gni")
15094332d3Sopenharmony_ci
16094332d3Sopenharmony_cigroup("display_group") {
17094332d3Sopenharmony_ci  deps = [
18094332d3Sopenharmony_ci    ":def_display_device",
19094332d3Sopenharmony_ci    ":def_display_gralloc",
20094332d3Sopenharmony_ci  ]
21094332d3Sopenharmony_ci}
22094332d3Sopenharmony_ci
23094332d3Sopenharmony_ciohos_shared_library("def_display_gralloc") {
24094332d3Sopenharmony_ci  sources = [
25094332d3Sopenharmony_ci    "src/display_gralloc/allocator.cpp",
26094332d3Sopenharmony_ci    "src/display_gralloc/allocator_manager.cpp",
27094332d3Sopenharmony_ci    "src/display_gralloc/display_gralloc.cpp",
28094332d3Sopenharmony_ci    "src/display_gralloc/dmabufferheap_allocator.cpp",
29094332d3Sopenharmony_ci    "src/display_gralloc/drm_allocator.cpp",
30094332d3Sopenharmony_ci    "src/display_gralloc/framebuffer_allocator.cpp",
31094332d3Sopenharmony_ci    "src/utils/display_adapter.cpp",
32094332d3Sopenharmony_ci  ]
33094332d3Sopenharmony_ci  include_dirs = [
34094332d3Sopenharmony_ci    "include",
35094332d3Sopenharmony_ci    "../../interfaces/include",
36094332d3Sopenharmony_ci    "src/utils/",
37094332d3Sopenharmony_ci  ]
38094332d3Sopenharmony_ci
39094332d3Sopenharmony_ci  output_name = "display_gralloc"
40094332d3Sopenharmony_ci  cflags = [ "-Wno-macro-redefined" ]
41094332d3Sopenharmony_ci
42094332d3Sopenharmony_ci  external_deps = [
43094332d3Sopenharmony_ci    "c_utils:utils",
44094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
45094332d3Sopenharmony_ci    "hilog:libhilog",
46094332d3Sopenharmony_ci    "libdrm:libdrm",
47094332d3Sopenharmony_ci    "memory_utils:libdmabufheap",
48094332d3Sopenharmony_ci  ]
49094332d3Sopenharmony_ci
50094332d3Sopenharmony_ci  install_enable = true
51094332d3Sopenharmony_ci  install_images = [ chipset_base_dir ]
52094332d3Sopenharmony_ci  subsystem_name = "hdf"
53094332d3Sopenharmony_ci  part_name = "drivers_peripheral_display"
54094332d3Sopenharmony_ci}
55094332d3Sopenharmony_ci
56094332d3Sopenharmony_ciconfig("def_display_device_pub_config") {
57094332d3Sopenharmony_ci  visibility = [ ":*" ]
58094332d3Sopenharmony_ci
59094332d3Sopenharmony_ci  include_dirs = [
60094332d3Sopenharmony_ci    "//drivers/peripheral/display/interfaces/include",
61094332d3Sopenharmony_ci    "./src/display_device",
62094332d3Sopenharmony_ci    "./include",
63094332d3Sopenharmony_ci  ]
64094332d3Sopenharmony_ci}
65094332d3Sopenharmony_ci
66094332d3Sopenharmony_ciohos_shared_library("def_display_device") {
67094332d3Sopenharmony_ci  sources = [
68094332d3Sopenharmony_ci    "src/display_device/composer/hdi_composer.cpp",
69094332d3Sopenharmony_ci    "src/display_device/composer/hdi_gfx_composition.cpp",
70094332d3Sopenharmony_ci    "src/display_device/composer/hdi_video_composition.cpp",
71094332d3Sopenharmony_ci    "src/display_device/core/hdi_device_interface.cpp",
72094332d3Sopenharmony_ci    "src/display_device/core/hdi_display.cpp",
73094332d3Sopenharmony_ci    "src/display_device/core/hdi_layer.cpp",
74094332d3Sopenharmony_ci    "src/display_device/core/hdi_session.cpp",
75094332d3Sopenharmony_ci    "src/display_device/drm/drm_connector.cpp",
76094332d3Sopenharmony_ci    "src/display_device/drm/drm_crtc.cpp",
77094332d3Sopenharmony_ci    "src/display_device/drm/drm_device.cpp",
78094332d3Sopenharmony_ci    "src/display_device/drm/drm_display.cpp",
79094332d3Sopenharmony_ci    "src/display_device/drm/drm_encoder.cpp",
80094332d3Sopenharmony_ci    "src/display_device/drm/drm_plane.cpp",
81094332d3Sopenharmony_ci    "src/display_device/drm/drm_vsync_worker.cpp",
82094332d3Sopenharmony_ci    "src/display_device/drm/hdi_drm_composition.cpp",
83094332d3Sopenharmony_ci    "src/display_device/drm/hdi_drm_layer.cpp",
84094332d3Sopenharmony_ci    "src/display_device/fbdev/fb_composition.cpp",
85094332d3Sopenharmony_ci    "src/display_device/fbdev/fb_device.cpp",
86094332d3Sopenharmony_ci    "src/display_device/fbdev/fb_display.cpp",
87094332d3Sopenharmony_ci    "src/display_device/vsync/sorft_vsync.cpp",
88094332d3Sopenharmony_ci    "src/utils/display_adapter.cpp",
89094332d3Sopenharmony_ci  ]
90094332d3Sopenharmony_ci  public_configs = [ ":def_display_device_pub_config" ]
91094332d3Sopenharmony_ci
92094332d3Sopenharmony_ci  output_name = "display_device"
93094332d3Sopenharmony_ci
94094332d3Sopenharmony_ci  include_dirs = [
95094332d3Sopenharmony_ci    "src/display_device",
96094332d3Sopenharmony_ci    "include",
97094332d3Sopenharmony_ci    "../../interfaces/include",
98094332d3Sopenharmony_ci    "src/display_device/drm",
99094332d3Sopenharmony_ci    "src/display_device/fbdev",
100094332d3Sopenharmony_ci    "src/display_device/core",
101094332d3Sopenharmony_ci    "src/display_device/composer",
102094332d3Sopenharmony_ci    "src/utils",
103094332d3Sopenharmony_ci  ]
104094332d3Sopenharmony_ci
105094332d3Sopenharmony_ci  deps = [
106094332d3Sopenharmony_ci    ":def_display_layer_video",
107094332d3Sopenharmony_ci    "../:hdi_display_gralloc",
108094332d3Sopenharmony_ci  ]
109094332d3Sopenharmony_ci
110094332d3Sopenharmony_ci  cflags = [ "-Wno-unused-function" ]
111094332d3Sopenharmony_ci
112094332d3Sopenharmony_ci  external_deps = [
113094332d3Sopenharmony_ci    "c_utils:utils",
114094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
115094332d3Sopenharmony_ci    "hilog:libhilog",
116094332d3Sopenharmony_ci    "hitrace:hitrace_meter",
117094332d3Sopenharmony_ci    "libdrm:libdrm",
118094332d3Sopenharmony_ci  ]
119094332d3Sopenharmony_ci
120094332d3Sopenharmony_ci  symlink_target_name = [ "libdisplay_layer.z.so" ]
121094332d3Sopenharmony_ci
122094332d3Sopenharmony_ci  install_enable = true
123094332d3Sopenharmony_ci  install_images = [ system_base_dir ]
124094332d3Sopenharmony_ci  relative_install_dir = "chipset-sdk"
125094332d3Sopenharmony_ci  subsystem_name = "hdf"
126094332d3Sopenharmony_ci  part_name = "drivers_peripheral_display"
127094332d3Sopenharmony_ci}
128094332d3Sopenharmony_ci
129094332d3Sopenharmony_ciohos_shared_library("def_display_layer_video") {
130094332d3Sopenharmony_ci  sources = [ "src/display_layer_video/display_layer_video.cpp" ]
131094332d3Sopenharmony_ci  public_configs = [ ":def_display_device_pub_config" ]
132094332d3Sopenharmony_ci
133094332d3Sopenharmony_ci  output_name = "display_layer_video"
134094332d3Sopenharmony_ci  include_dirs = [
135094332d3Sopenharmony_ci    "../../interfaces/include",
136094332d3Sopenharmony_ci    "../../hdi_service/video_layer/client",
137094332d3Sopenharmony_ci  ]
138094332d3Sopenharmony_ci
139094332d3Sopenharmony_ci  external_deps = [
140094332d3Sopenharmony_ci    "c_utils:utils",
141094332d3Sopenharmony_ci    "hdf_core:libhdf_host",
142094332d3Sopenharmony_ci    "hdf_core:libhdf_ipc_adapter",
143094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
144094332d3Sopenharmony_ci    "hdf_core:libhdi",
145094332d3Sopenharmony_ci    "hilog:libhilog",
146094332d3Sopenharmony_ci    "ipc:ipc_single",
147094332d3Sopenharmony_ci  ]
148094332d3Sopenharmony_ci
149094332d3Sopenharmony_ci  public_deps = [ "../../hdi_service/video_layer/client:video_layer_client" ]
150094332d3Sopenharmony_ci
151094332d3Sopenharmony_ci  install_enable = true
152094332d3Sopenharmony_ci  install_images = [ chipset_base_dir ]
153094332d3Sopenharmony_ci  subsystem_name = "hdf"
154094332d3Sopenharmony_ci  part_name = "drivers_peripheral_display"
155094332d3Sopenharmony_ci}
156