1094332d3Sopenharmony_ci# Copyright (c) 2022 - 2024 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_ciimport("//drivers/peripheral/distributed_camera/distributedcamera.gni")
16094332d3Sopenharmony_ci
17094332d3Sopenharmony_ciohos_shared_library("libdistributed_camera_provider_config") {
18094332d3Sopenharmony_ci  include_dirs =
19094332d3Sopenharmony_ci      [ "${distributedcamera_hdf_path}/hdi_service/include/dcamera_provider" ]
20094332d3Sopenharmony_ci  sources = [ "./src/config/dcamera_provider_config.cpp" ]
21094332d3Sopenharmony_ci  deps = [ "${distributedcamera_hdf_path}/hdi_service:libdistributed_camera_hdf_service_1.1" ]
22094332d3Sopenharmony_ci
23094332d3Sopenharmony_ci  external_deps = [
24094332d3Sopenharmony_ci    "cJSON:cjson",
25094332d3Sopenharmony_ci    "c_utils:utils",
26094332d3Sopenharmony_ci    "drivers_interface_camera:libbuffer_producer_sequenceable_1.0",
27094332d3Sopenharmony_ci    "drivers_interface_distributed_camera:libdistributed_camera_provider_stub_1.1",
28094332d3Sopenharmony_ci    "graphic_surface:surface",
29094332d3Sopenharmony_ci    "hdf_core:libhdf_host",
30094332d3Sopenharmony_ci    "hdf_core:libhdf_ipc_adapter",
31094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
32094332d3Sopenharmony_ci    "hdf_core:libhdi",
33094332d3Sopenharmony_ci    "hilog:libhilog",
34094332d3Sopenharmony_ci    "ipc:ipc_single",
35094332d3Sopenharmony_ci  ]
36094332d3Sopenharmony_ci
37094332d3Sopenharmony_ci  shlib_type = "hdi"
38094332d3Sopenharmony_ci  install_images = [ chipset_base_dir ]
39094332d3Sopenharmony_ci  subsystem_name = "hdf"
40094332d3Sopenharmony_ci  part_name = "drivers_peripheral_distributed_camera"
41094332d3Sopenharmony_ci}
42094332d3Sopenharmony_ci
43094332d3Sopenharmony_ciohos_shared_library("libdistributed_camera_host_config") {
44094332d3Sopenharmony_ci  include_dirs = [
45094332d3Sopenharmony_ci    "${distributedcamera_hdf_path}/hdi_service/include/dcamera_device",
46094332d3Sopenharmony_ci    "${distributedcamera_hdf_path}/hdi_service/include/dcamera_host",
47094332d3Sopenharmony_ci    "${distributedcamera_hdf_path}/hdi_service/include/dstream_operator",
48094332d3Sopenharmony_ci    "${distributedcamera_hdf_path}/hdi_service/include/utils",
49094332d3Sopenharmony_ci  ]
50094332d3Sopenharmony_ci  sources = [ "./src/config/dcamera_host_config.cpp" ]
51094332d3Sopenharmony_ci  deps = [ "${distributedcamera_hdf_path}/hdi_service:libdistributed_camera_hdf_service_1.1" ]
52094332d3Sopenharmony_ci  external_deps = [
53094332d3Sopenharmony_ci    "cJSON:cjson",
54094332d3Sopenharmony_ci    "c_utils:utils",
55094332d3Sopenharmony_ci    "drivers_interface_camera:libbuffer_producer_sequenceable_1.0",
56094332d3Sopenharmony_ci    "drivers_interface_camera:libcamera_stub_1.3",
57094332d3Sopenharmony_ci    "drivers_interface_display:libdisplay_composer_stub_1.0",
58094332d3Sopenharmony_ci    "drivers_interface_distributed_camera:libdistributed_camera_provider_stub_1.1",
59094332d3Sopenharmony_ci    "graphic_surface:surface",
60094332d3Sopenharmony_ci    "graphic_surface:sync_fence",
61094332d3Sopenharmony_ci    "hdf_core:libhdf_host",
62094332d3Sopenharmony_ci    "hdf_core:libhdf_ipc_adapter",
63094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
64094332d3Sopenharmony_ci    "hdf_core:libhdi",
65094332d3Sopenharmony_ci    "hilog:libhilog",
66094332d3Sopenharmony_ci    "ipc:ipc_single",
67094332d3Sopenharmony_ci  ]
68094332d3Sopenharmony_ci
69094332d3Sopenharmony_ci  shlib_type = "hdi"
70094332d3Sopenharmony_ci  install_images = [ chipset_base_dir ]
71094332d3Sopenharmony_ci  subsystem_name = "hdf"
72094332d3Sopenharmony_ci  part_name = "drivers_peripheral_distributed_camera"
73094332d3Sopenharmony_ci}
74094332d3Sopenharmony_ci
75094332d3Sopenharmony_ciohos_shared_library("libdistributed_camera_hdf_service_1.1") {
76094332d3Sopenharmony_ci  include_dirs = [
77094332d3Sopenharmony_ci    "include/dcamera_device",
78094332d3Sopenharmony_ci    "include/dcamera_host",
79094332d3Sopenharmony_ci    "include/dcamera_provider",
80094332d3Sopenharmony_ci    "include/dstream_operator",
81094332d3Sopenharmony_ci    "include/utils",
82094332d3Sopenharmony_ci  ]
83094332d3Sopenharmony_ci
84094332d3Sopenharmony_ci  sources = [
85094332d3Sopenharmony_ci    "src/dcamera_device/dcamera_device.cpp",
86094332d3Sopenharmony_ci    "src/dcamera_device/dmetadata_processor.cpp",
87094332d3Sopenharmony_ci    "src/dcamera_host/dcamera_host.cpp",
88094332d3Sopenharmony_ci    "src/dcamera_provider/dcamera_provider.cpp",
89094332d3Sopenharmony_ci    "src/dstream_operator/dbuffer_manager.cpp",
90094332d3Sopenharmony_ci    "src/dstream_operator/dcamera_stream.cpp",
91094332d3Sopenharmony_ci    "src/dstream_operator/dimage_buffer.cpp",
92094332d3Sopenharmony_ci    "src/dstream_operator/doffline_stream_operator.cpp",
93094332d3Sopenharmony_ci    "src/dstream_operator/dstream_operator.cpp",
94094332d3Sopenharmony_ci    "src/utils/anonymous_string.cpp",
95094332d3Sopenharmony_ci    "src/utils/dcamera.cpp",
96094332d3Sopenharmony_ci  ]
97094332d3Sopenharmony_ci
98094332d3Sopenharmony_ci  defines = [
99094332d3Sopenharmony_ci    "HI_LOG_ENABLE",
100094332d3Sopenharmony_ci    "DH_LOG_TAG=\"distributedcamerahdf\"",
101094332d3Sopenharmony_ci    "LOG_DOMAIN=0xD004150",
102094332d3Sopenharmony_ci  ]
103094332d3Sopenharmony_ci
104094332d3Sopenharmony_ci  external_deps = [
105094332d3Sopenharmony_ci    "cJSON:cjson",
106094332d3Sopenharmony_ci    "c_utils:utils",
107094332d3Sopenharmony_ci    "drivers_interface_camera:libbuffer_producer_sequenceable_1.0",
108094332d3Sopenharmony_ci    "drivers_interface_camera:libcamera_stub_1.3",
109094332d3Sopenharmony_ci    "drivers_interface_camera:metadata",
110094332d3Sopenharmony_ci    "drivers_interface_display:libdisplay_composer_stub_1.0",
111094332d3Sopenharmony_ci    "drivers_interface_distributed_camera:libdistributed_camera_provider_stub_1.1",
112094332d3Sopenharmony_ci    "graphic_surface:buffer_handle",
113094332d3Sopenharmony_ci    "graphic_surface:surface",
114094332d3Sopenharmony_ci    "graphic_surface:sync_fence",
115094332d3Sopenharmony_ci    "hdf_core:libhdf_host",
116094332d3Sopenharmony_ci    "hdf_core:libhdf_ipc_adapter",
117094332d3Sopenharmony_ci    "hdf_core:libhdf_utils",
118094332d3Sopenharmony_ci    "hdf_core:libhdi",
119094332d3Sopenharmony_ci    "hilog:libhilog",
120094332d3Sopenharmony_ci    "ipc:ipc_single",
121094332d3Sopenharmony_ci    "samgr:samgr_proxy",
122094332d3Sopenharmony_ci  ]
123094332d3Sopenharmony_ci
124094332d3Sopenharmony_ci  install_images = [ chipset_base_dir ]
125094332d3Sopenharmony_ci  subsystem_name = "hdf"
126094332d3Sopenharmony_ci  part_name = "drivers_peripheral_distributed_camera"
127094332d3Sopenharmony_ci}
128094332d3Sopenharmony_ci
129094332d3Sopenharmony_cigroup("hdf_distributed_camera_service") {
130094332d3Sopenharmony_ci  deps = [
131094332d3Sopenharmony_ci    ":libdistributed_camera_hdf_service_1.1",
132094332d3Sopenharmony_ci    ":libdistributed_camera_host_config",
133094332d3Sopenharmony_ci    ":libdistributed_camera_provider_config",
134094332d3Sopenharmony_ci  ]
135094332d3Sopenharmony_ci}
136