1094332d3Sopenharmony_ci# Copyright (c) 2023 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_ci# NOSORT 17094332d3Sopenharmony_ciimport("../../../camera.gni") 18094332d3Sopenharmony_ci 19094332d3Sopenharmony_ci# NOSORT 20094332d3Sopenharmony_ciimport("../camera_usb.gni") 21094332d3Sopenharmony_ciconfig("camhdi_impl_config") { 22094332d3Sopenharmony_ci visibility = [ ":*" ] 23094332d3Sopenharmony_ci cflags = [ 24094332d3Sopenharmony_ci "-DGST_DISABLE_DEPRECATED", 25094332d3Sopenharmony_ci "-DHAVE_CONFIG_H", 26094332d3Sopenharmony_ci ] 27094332d3Sopenharmony_ci 28094332d3Sopenharmony_ci ldflags = [ "-Wl" ] 29094332d3Sopenharmony_ci 30094332d3Sopenharmony_ci if (enable_camera_device_utest) { 31094332d3Sopenharmony_ci cflags += [ 32094332d3Sopenharmony_ci "-fprofile-arcs", 33094332d3Sopenharmony_ci "-ftest-coverage", 34094332d3Sopenharmony_ci ] 35094332d3Sopenharmony_ci 36094332d3Sopenharmony_ci ldflags += [ "--coverage" ] 37094332d3Sopenharmony_ci } 38094332d3Sopenharmony_ci} 39094332d3Sopenharmony_ci 40094332d3Sopenharmony_cihost_sources = [ 41094332d3Sopenharmony_ci "$camera_path_usb/vdi_impl/src/camera_host/camera_host_usb_config.cpp", 42094332d3Sopenharmony_ci "$camera_path_usb/vdi_impl/src/camera_host/camera_host_usb_vdi_impl.cpp", 43094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/camera_device/camera_device_vdi_impl.cpp", 44094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/offline_stream_operator/offline_stream.cpp", 45094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/offline_stream_operator/offline_stream_operator_vdi_impl.cpp", 46094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/capture_message.cpp", 47094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/capture_request.cpp", 48094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_base.cpp", 49094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_operator_vdi_impl.cpp", 50094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_post_view.cpp", 51094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_preview.cpp", 52094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_statistics.cpp", 53094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_still_capture.cpp", 54094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_tunnel/standard/stream_tunnel.cpp", 55094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_video.cpp", 56094332d3Sopenharmony_ci "$camera_path_vdi/dump/src/camera_dump.cpp", 57094332d3Sopenharmony_ci] 58094332d3Sopenharmony_ci 59094332d3Sopenharmony_cihost_includes = [ 60094332d3Sopenharmony_ci "$camera_path_vdi/../../interfaces/include", 61094332d3Sopenharmony_ci "$camera_path_vdi/include", 62094332d3Sopenharmony_ci "$camera_path_vdi/metadata_manager/include", 63094332d3Sopenharmony_ci "$camera_path_vdi/utils/watchdog", 64094332d3Sopenharmony_ci "$camera_path_vdi/../interfaces", 65094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/include", 66094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/include/camera_host", 67094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/include/camera_device", 68094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/include/stream_operator", 69094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/src/stream_operator/stream_tunnel/standard", 70094332d3Sopenharmony_ci "$camera_path_vdi/../v4l2/include/offline_stream_operator", 71094332d3Sopenharmony_ci "$camera_path_vdi/device_manager/include", 72094332d3Sopenharmony_ci "$camera_path_vdi/buffer_manager/src/buffer_adapter/standard", 73094332d3Sopenharmony_ci "$camera_path_vdi/utils/event", 74094332d3Sopenharmony_ci "$camera_path_vdi/dump/include", 75094332d3Sopenharmony_ci 76094332d3Sopenharmony_ci #producer 77094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/utils", 78094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/include", 79094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/host_stream/include", 80094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/nodes/include", 81094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/nodes/src/node_base", 82094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/nodes/src/dummy_node", 83094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/include", 84094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/src", 85094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/src/builder", 86094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/src/dispatcher", 87094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/src/parser", 88094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/pipeline_impl/src/strategy", 89094332d3Sopenharmony_ci "$camera_path_vdi/pipeline_core/ipp/include", 90094332d3Sopenharmony_ci] 91094332d3Sopenharmony_ci 92094332d3Sopenharmony_ciohos_shared_library("camera_daemon") { 93094332d3Sopenharmony_ci output_extension = "so" 94094332d3Sopenharmony_ci sources = host_sources 95094332d3Sopenharmony_ci include_dirs = host_includes 96094332d3Sopenharmony_ci 97094332d3Sopenharmony_ci deps = [ 98094332d3Sopenharmony_ci "$camera_path_usb/buffer_manager:usb_camera_buffer_manager", 99094332d3Sopenharmony_ci "$camera_path_usb/device_manager:usb_camera_device_manager", 100094332d3Sopenharmony_ci "$camera_path_usb/metadata_manager:usb_camera_metadata_manager", 101094332d3Sopenharmony_ci "$camera_path_usb/pipeline_core:usb_camera_pipeline_core", 102094332d3Sopenharmony_ci "$camera_path_vdi/utils:peripheral_camera_utils", 103094332d3Sopenharmony_ci ] 104094332d3Sopenharmony_ci 105094332d3Sopenharmony_ci defines = [] 106094332d3Sopenharmony_ci if (enable_camera_device_utest) { 107094332d3Sopenharmony_ci defines += [ "CAMERA_DEVICE_UTEST" ] 108094332d3Sopenharmony_ci } 109094332d3Sopenharmony_ci if (use_hitrace) { 110094332d3Sopenharmony_ci defines += [ "HITRACE_LOG_ENABLED" ] 111094332d3Sopenharmony_ci } 112094332d3Sopenharmony_ci if (drivers_peripheral_camera_feature_usb) { 113094332d3Sopenharmony_ci defines += [ "CAMERA_BUILT_ON_USB" ] 114094332d3Sopenharmony_ci } 115094332d3Sopenharmony_ci 116094332d3Sopenharmony_ci external_deps = [ 117094332d3Sopenharmony_ci "c_utils:utils", 118094332d3Sopenharmony_ci "drivers_interface_camera:libbuffer_producer_sequenceable_1.0", 119094332d3Sopenharmony_ci "drivers_interface_camera:metadata", 120094332d3Sopenharmony_ci "graphic_surface:surface", 121094332d3Sopenharmony_ci "hdf_core:libhdf_host", 122094332d3Sopenharmony_ci "hdf_core:libhdf_ipc_adapter", 123094332d3Sopenharmony_ci "hdf_core:libhdf_utils", 124094332d3Sopenharmony_ci "hdf_core:libhdi", 125094332d3Sopenharmony_ci "hilog:libhilog", 126094332d3Sopenharmony_ci "hitrace:hitrace_meter", 127094332d3Sopenharmony_ci "ipc:ipc_single", 128094332d3Sopenharmony_ci ] 129094332d3Sopenharmony_ci 130094332d3Sopenharmony_ci # if (use_hitrace) { 131094332d3Sopenharmony_ci # external_deps += [ "hitrace:libhitracechain" ] 132094332d3Sopenharmony_ci # } 133094332d3Sopenharmony_ci 134094332d3Sopenharmony_ci public_configs = [ ":camhdi_impl_config" ] 135094332d3Sopenharmony_ci install_images = [ chipset_base_dir ] 136094332d3Sopenharmony_ci subsystem_name = "hdf" 137094332d3Sopenharmony_ci part_name = "drivers_peripheral_camera" 138094332d3Sopenharmony_ci} 139094332d3Sopenharmony_ci 140094332d3Sopenharmony_ciohos_static_library("camera_daemon_static") { 141094332d3Sopenharmony_ci sources = host_sources 142094332d3Sopenharmony_ci include_dirs = host_includes 143094332d3Sopenharmony_ci 144094332d3Sopenharmony_ci deps = [ 145094332d3Sopenharmony_ci "$camera_path_usb/buffer_manager:usb_camera_buffer_manager", 146094332d3Sopenharmony_ci "$camera_path_usb/device_manager:usb_camera_device_manager", 147094332d3Sopenharmony_ci "$camera_path_usb/metadata_manager:usb_camera_metadata_manager", 148094332d3Sopenharmony_ci "$camera_path_usb/pipeline_core:usb_camera_pipeline_core", 149094332d3Sopenharmony_ci "$camera_path_vdi/utils:peripheral_camera_utils", 150094332d3Sopenharmony_ci ] 151094332d3Sopenharmony_ci 152094332d3Sopenharmony_ci defines = [] 153094332d3Sopenharmony_ci if (enable_camera_device_utest) { 154094332d3Sopenharmony_ci defines += [ "CAMERA_DEVICE_UTEST" ] 155094332d3Sopenharmony_ci } 156094332d3Sopenharmony_ci if (use_hitrace) { 157094332d3Sopenharmony_ci defines += [ "HITRACE_LOG_ENABLED" ] 158094332d3Sopenharmony_ci } 159094332d3Sopenharmony_ci if (drivers_peripheral_camera_feature_usb) { 160094332d3Sopenharmony_ci defines += [ "CAMERA_BUILT_ON_USB" ] 161094332d3Sopenharmony_ci } 162094332d3Sopenharmony_ci 163094332d3Sopenharmony_ci external_deps = [ 164094332d3Sopenharmony_ci "c_utils:utils", 165094332d3Sopenharmony_ci "drivers_interface_camera:libbuffer_producer_sequenceable_1.0", 166094332d3Sopenharmony_ci "drivers_interface_camera:metadata", 167094332d3Sopenharmony_ci "graphic_surface:surface", 168094332d3Sopenharmony_ci "hdf_core:libhdf_host", 169094332d3Sopenharmony_ci "hdf_core:libhdf_ipc_adapter", 170094332d3Sopenharmony_ci "hdf_core:libhdf_utils", 171094332d3Sopenharmony_ci "hdf_core:libhdi", 172094332d3Sopenharmony_ci "hilog:libhilog", 173094332d3Sopenharmony_ci "hitrace:hitrace_meter", 174094332d3Sopenharmony_ci "ipc:ipc_single", 175094332d3Sopenharmony_ci ] 176094332d3Sopenharmony_ci if (use_hitrace) { 177094332d3Sopenharmony_ci external_deps += [ "hitrace:libhitracechain" ] 178094332d3Sopenharmony_ci } 179094332d3Sopenharmony_ci 180094332d3Sopenharmony_ci public_configs = [ ":camhdi_impl_config" ] 181094332d3Sopenharmony_ci subsystem_name = "hdf" 182094332d3Sopenharmony_ci part_name = "drivers_peripheral_camera" 183094332d3Sopenharmony_ci} 184