# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. import("//build/ohos.gni") import("//drivers/adapter/uhdf2/uhdf.gni") import("../camera.gni") config("camhdi_impl_config") { visibility = [ ":*" ] cflags = [ "-Wall", "-Wextra", "-Werror", "-DGST_DISABLE_DEPRECATED", "-DHAVE_CONFIG_H", "-fno-strict-aliasing", "-Wno-sign-compare", "-Wno-builtin-requires-header", "-Wno-implicit-function-declaration", "-Wno-format", "-Wno-int-conversion", "-Wno-unused-function", "-Wno-thread-safety-attributes", "-Wno-inconsistent-missing-override", "-fno-rtti", "-fno-exceptions", "-ffunction-sections", "-fdata-sections", ] ldflags = [ "-Wl" ] if (enable_camera_device_utest) { cflags += [ "-fprofile-arcs", "-ftest-coverage", ] ldflags += [ "--coverage" ] } } ohos_shared_library("camera_hdi_impl") { sources = [ "$camera_path/../interfaces/include/callback/device/camera_device_callback_proxy.cpp", "$camera_path/../interfaces/include/callback/host/camera_host_callback_proxy.cpp", "$camera_path/../interfaces/include/callback/operator/stream_operator_callback_proxy.cpp", "$camera_path/../interfaces/include/server/camera_device_service_stub.cpp", "$camera_path/../interfaces/include/server/camera_host_driver.cpp", "$camera_path/../interfaces/include/server/camera_host_service_stub.cpp", "$camera_path/../interfaces/include/server/offline_stream_operator_service_stub.cpp", "$camera_path/../interfaces/include/server/stream_operator_service_stub.cpp", "$camera_path/hdi_impl/src/camera_device/camera_device.cpp", "$camera_path/hdi_impl/src/camera_device/camera_device_impl.cpp", "$camera_path/hdi_impl/src/camera_host/camera_host.cpp", "$camera_path/hdi_impl/src/camera_host/camera_host_config.cpp", "$camera_path/hdi_impl/src/camera_host/camera_host_impl.cpp", "$camera_path/hdi_impl/src/camera_host/hcs_deal.cpp", "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream.cpp", "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream_operator.cpp", "$camera_path/hdi_impl/src/stream_operator/capture_message.cpp", "$camera_path/hdi_impl/src/stream_operator/capture_request.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_base.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_operator.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_post_view.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_preview.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_still_capture.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_tunnel.cpp", "$camera_path/hdi_impl/src/stream_operator/stream_video.cpp", ] include_dirs = [ "$camera_path/../interfaces/include", "$camera_path/../interfaces/include/server", "$camera_path/../interfaces/include/callback/host", "$camera_path/../interfaces/include/callback/device", "$camera_path/../interfaces/include/callback/operator", "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", "$camera_path/include", "$camera_path/hdi_impl", "$camera_path/utils/watchdog", "$camera_path/hdi_impl/include", "$camera_path/hdi_impl/include/camera_host", "$camera_path/hdi_impl/include/camera_device", "$camera_path/hdi_impl/include/stream_operator", "$camera_path/hdi_impl/include/offline_stream_operator", "$camera_path/device_manager/include/", "//base/hiviewdfx/interfaces/innerkits/libhilog/include", "$camera_path/utils/event", "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include", #producer "//utils/native/base/include", "//foundation/communication/ipc/ipc/native/src/core/include", "$camera_path/pipeline_core/utils", "$camera_path/pipeline_core/include", "$camera_path/pipeline_core/host_stream/include", "$camera_path/pipeline_core/nodes/include", "$camera_path/pipeline_core/nodes/src/node_base", "$camera_path/pipeline_core/nodes/src/dummy_node", "$camera_path/pipeline_core/pipeline_impl/include", "$camera_path/pipeline_core/pipeline_impl/src", "$camera_path/pipeline_core/pipeline_impl/src/builder", "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", "$camera_path/pipeline_core/pipeline_impl/src/parser", "$camera_path/pipeline_core/pipeline_impl/src/strategy", "$camera_path/pipeline_core/ipp/include", # HCS文件解析需要 "//drivers/framework/include/config", "//drivers/framework/include/osal", "//drivers/framework/include/utils", "//drivers/adapter/uhdf2/include/config", "//drivers/adapter/uhdf2/osal/include", "//drivers/framework/ability/config/hcs_parser/include", "//system/core/include/cutils", "$hdf_uhdf_path/manager/include", "$hdf_uhdf_path/include/hdi", "$hdf_framework_path/ability/sbuf/include", ] if (use_hitrace) { include_dirs += [ #trace log "//base/hiviewdfx/hitrace/frameworks/native", "//base/hiviewdfx/hilog/frameworks/native/include", "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include", "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace", ] } deps = [ "$camera_path/buffer_manager:camera_buffer_manager", "$camera_path/device_manager:camera_device_manager", "$camera_path/pipeline_core:camera_pipeline_core", "$camera_path/utils:camera_utils", "$hdf_uhdf_path/config:libhdf_hcs", "$hdf_uhdf_path/hdi:libhdi", "$hdf_uhdf_path/osal:libhdf_utils", "//drivers/adapter/uhdf2/host:libhdf_host", "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter", "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core", "//foundation/graphic/standard:libsurface", "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata", "//utils/native/base:utils", ] if (use_hitrace) { deps += [ "//base/hiviewdfx/hitrace/frameworks/native:libhitrace_source" ] } defines = [] if (enable_camera_device_utest) { defines += [ "CAMERA_DEVICE_UTEST" ] } if (use_hitrace) { defines += [ "HITRACE_LOG_ENABLED" ] } if (is_standard_system) { external_deps = [ "hiviewdfx_hilog_native:libhilog" ] } else { external_deps = [ "hilog:libhilog" ] } public_configs = [ ":camhdi_impl_config" ] subsystem_name = "hdf" part_name = "hdf" }