1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 2 3import("//build/ohos.gni") 4import("//drivers/adapter/uhdf2/uhdf.gni") 5import("../camera.gni") 6 7config("camhdi_impl_config") { 8 visibility = [ ":*" ] 9 10 cflags = [ 11 "-Wall", 12 "-Wextra", 13 "-Werror", 14 "-DGST_DISABLE_DEPRECATED", 15 "-DHAVE_CONFIG_H", 16 "-fno-strict-aliasing", 17 "-Wno-sign-compare", 18 "-Wno-builtin-requires-header", 19 "-Wno-implicit-function-declaration", 20 "-Wno-format", 21 "-Wno-int-conversion", 22 "-Wno-unused-function", 23 "-Wno-thread-safety-attributes", 24 "-Wno-inconsistent-missing-override", 25 "-fno-rtti", 26 "-fno-exceptions", 27 "-ffunction-sections", 28 "-fdata-sections", 29 ] 30 31 ldflags = [ "-Wl" ] 32 33 if (enable_camera_device_utest) { 34 cflags += [ 35 "-fprofile-arcs", 36 "-ftest-coverage", 37 ] 38 39 ldflags += [ "--coverage" ] 40 } 41} 42 43ohos_shared_library("camera_hdi_impl") { 44 sources = [ 45 "$camera_path/../interfaces/include/callback/device/camera_device_callback_proxy.cpp", 46 "$camera_path/../interfaces/include/callback/host/camera_host_callback_proxy.cpp", 47 "$camera_path/../interfaces/include/callback/operator/stream_operator_callback_proxy.cpp", 48 "$camera_path/../interfaces/include/server/camera_device_service_stub.cpp", 49 "$camera_path/../interfaces/include/server/camera_host_driver.cpp", 50 "$camera_path/../interfaces/include/server/camera_host_service_stub.cpp", 51 "$camera_path/../interfaces/include/server/offline_stream_operator_service_stub.cpp", 52 "$camera_path/../interfaces/include/server/stream_operator_service_stub.cpp", 53 "$camera_path/hdi_impl/src/camera_device/camera_device.cpp", 54 "$camera_path/hdi_impl/src/camera_device/camera_device_impl.cpp", 55 "$camera_path/hdi_impl/src/camera_host/camera_host.cpp", 56 "$camera_path/hdi_impl/src/camera_host/camera_host_config.cpp", 57 "$camera_path/hdi_impl/src/camera_host/camera_host_impl.cpp", 58 "$camera_path/hdi_impl/src/camera_host/hcs_deal.cpp", 59 "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream.cpp", 60 "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream_operator.cpp", 61 "$camera_path/hdi_impl/src/stream_operator/capture_message.cpp", 62 "$camera_path/hdi_impl/src/stream_operator/capture_request.cpp", 63 "$camera_path/hdi_impl/src/stream_operator/stream_base.cpp", 64 "$camera_path/hdi_impl/src/stream_operator/stream_operator.cpp", 65 "$camera_path/hdi_impl/src/stream_operator/stream_post_view.cpp", 66 "$camera_path/hdi_impl/src/stream_operator/stream_preview.cpp", 67 "$camera_path/hdi_impl/src/stream_operator/stream_still_capture.cpp", 68 "$camera_path/hdi_impl/src/stream_operator/stream_tunnel.cpp", 69 "$camera_path/hdi_impl/src/stream_operator/stream_video.cpp", 70 ] 71 include_dirs = [ 72 "$camera_path/../interfaces/include", 73 "$camera_path/../interfaces/include/server", 74 "$camera_path/../interfaces/include/callback/host", 75 "$camera_path/../interfaces/include/callback/device", 76 "$camera_path/../interfaces/include/callback/operator", 77 "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include", 78 "$camera_path/include", 79 "$camera_path/hdi_impl", 80 "$camera_path/utils/watchdog", 81 "$camera_path/hdi_impl/include", 82 "$camera_path/hdi_impl/include/camera_host", 83 "$camera_path/hdi_impl/include/camera_device", 84 "$camera_path/hdi_impl/include/stream_operator", 85 "$camera_path/hdi_impl/include/offline_stream_operator", 86 "$camera_path/device_manager/include/", 87 "//base/hiviewdfx/interfaces/innerkits/libhilog/include", 88 "$camera_path/utils/event", 89 "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata/include", 90 91 #producer 92 "//utils/native/base/include", 93 "//foundation/communication/ipc/ipc/native/src/core/include", 94 "$camera_path/pipeline_core/utils", 95 "$camera_path/pipeline_core/include", 96 "$camera_path/pipeline_core/host_stream/include", 97 "$camera_path/pipeline_core/nodes/include", 98 "$camera_path/pipeline_core/nodes/src/node_base", 99 "$camera_path/pipeline_core/nodes/src/dummy_node", 100 "$camera_path/pipeline_core/pipeline_impl/include", 101 "$camera_path/pipeline_core/pipeline_impl/src", 102 "$camera_path/pipeline_core/pipeline_impl/src/builder", 103 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 104 "$camera_path/pipeline_core/pipeline_impl/src/parser", 105 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 106 "$camera_path/pipeline_core/ipp/include", 107 108 # HCS文件解析需要 109 "//drivers/framework/include/config", 110 "//drivers/framework/include/osal", 111 "//drivers/framework/include/utils", 112 "//drivers/adapter/uhdf2/include/config", 113 "//drivers/adapter/uhdf2/osal/include", 114 "//drivers/framework/ability/config/hcs_parser/include", 115 "//system/core/include/cutils", 116 "$hdf_uhdf_path/manager/include", 117 "$hdf_uhdf_path/include/hdi", 118 "$hdf_framework_path/ability/sbuf/include", 119 ] 120 121 if (use_hitrace) { 122 include_dirs += [ 123 #trace log 124 "//base/hiviewdfx/hitrace/frameworks/native", 125 "//base/hiviewdfx/hilog/frameworks/native/include", 126 "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include", 127 "//base/hiviewdfx/hitrace/interfaces/native/innerkits/include/hitrace", 128 ] 129 } 130 deps = [ 131 "$camera_path/buffer_manager:camera_buffer_manager", 132 "$camera_path/device_manager:camera_device_manager", 133 "$camera_path/pipeline_core:camera_pipeline_core", 134 "$camera_path/utils:camera_utils", 135 "$hdf_uhdf_path/config:libhdf_hcs", 136 "$hdf_uhdf_path/hdi:libhdi", 137 "$hdf_uhdf_path/osal:libhdf_utils", 138 "//drivers/adapter/uhdf2/host:libhdf_host", 139 "//drivers/adapter/uhdf2/ipc:libhdf_ipc_adapter", 140 "//foundation/communication/ipc/interfaces/innerkits/ipc_core:ipc_core", 141 "//foundation/graphic/standard:libsurface", 142 "//foundation/multimedia/camera_standard/frameworks/innerkitsimpl/metadata:metadata", 143 "//utils/native/base:utils", 144 ] 145 if (use_hitrace) { 146 deps += [ "//base/hiviewdfx/hitrace/frameworks/native:libhitrace_source" ] 147 } 148 defines = [] 149 if (enable_camera_device_utest) { 150 defines += [ "CAMERA_DEVICE_UTEST" ] 151 } 152 if (use_hitrace) { 153 defines += [ "HITRACE_LOG_ENABLED" ] 154 } 155 156 if (is_standard_system) { 157 external_deps = [ "hiviewdfx_hilog_native:libhilog" ] 158 } else { 159 external_deps = [ "hilog:libhilog" ] 160 } 161 162 public_configs = [ ":camhdi_impl_config" ] 163 subsystem_name = "hdf" 164 part_name = "hdf" 165} 166