1# Copyright (c) Huawei Technologies Co., Ltd. 2021. All rights reserved. 2 3import("../camera.gni") 4 5if (defined(ohos_lite)) { 6 import("//build/ohos.gni") 7 import("//drivers/adapter/uhdf/uhdf.gni") 8 9 config("camhdi_impl_config") { 10 visibility = [ ":*" ] 11 cflags = [ 12 "-Wall", 13 "-Wextra", 14 "-Werror", 15 "-DGST_DISABLE_DEPRECATED", 16 "-DHAVE_CONFIG_H", 17 "-fno-strict-aliasing", 18 "-Wno-sign-compare", 19 "-Wno-builtin-requires-header", 20 "-Wno-implicit-function-declaration", 21 "-Wno-format", 22 "-Wno-int-conversion", 23 "-Wno-unused-function", 24 "-Wno-thread-safety-attributes", 25 "-Wno-inconsistent-missing-override", 26 "-fno-rtti", 27 "-fno-exceptions", 28 "-ffunction-sections", 29 "-fdata-sections", 30 ] 31 32 cflags_cc = [ "-std=c++17" ] 33 ldflags = [ "-Wl" ] 34 35 ldflags += [ "--coverage" ] 36 } 37 38 ohos_shared_library("camera_hdi_impl") { 39 output_extension = "z.so" 40 sources = [ 41 "src/camera_device/camera_device.cpp", 42 "src/camera_device/camera_device_impl.cpp", 43 "src/camera_host/camera_host.cpp", 44 "src/camera_host/camera_host_config.cpp", 45 "src/camera_host/camera_host_impl.cpp", 46 "src/camera_host/hcs_deal.cpp", 47 "src/offline_stream_operator/offline_stream.cpp", 48 "src/offline_stream_operator/offline_stream_operator.cpp", 49 "src/stream_operator/capture_message.cpp", 50 "src/stream_operator/capture_request.cpp", 51 "src/stream_operator/stream_base.cpp", 52 "src/stream_operator/stream_operator.cpp", 53 "src/stream_operator/stream_post_view.cpp", 54 "src/stream_operator/stream_preview.cpp", 55 "src/stream_operator/stream_still_capture.cpp", 56 "src/stream_operator/stream_tunnel/lite/stream_tunnel.cpp", 57 "src/stream_operator/stream_video.cpp", 58 ] 59 60 include_dirs = [ 61 "$camera_path/../interfaces/include", 62 "$camera_path/../interfaces/hdi_passthrough", 63 "$camera_path/include", 64 "$camera_path/hdi_impl", 65 "$camera_path/utils/watchdog", 66 "$camera_path/hdi_impl/include", 67 "$camera_path/hdi_impl/include/camera_host", 68 "$camera_path/hdi_impl/include/camera_device", 69 "$camera_path/hdi_impl/include/stream_operator", 70 "$camera_path/hdi_impl/src/stream_operator/stream_tunnel/lite", 71 "$camera_path/hdi_impl/include/offline_stream_operator", 72 "$camera_path/device_manager/include/", 73 "$camera_path/buffer_manager/src/buffer_adapter/lite", 74 "//base/hiviewdfx/interfaces/innerkits/libhilog/include", 75 "$camera_path/utils/event", 76 "$camera_path/utils/metadata/include", 77 "//drivers/peripheral/display/interfaces/include", 78 "//drivers/peripheral/base", 79 80 #producer 81 "//utils/native/base/include", 82 "$camera_path/pipeline_core/utils", 83 "$camera_path/pipeline_core/include", 84 "$camera_path/pipeline_core/host_stream/include", 85 "$camera_path/pipeline_core/nodes/include", 86 "$camera_path/pipeline_core/nodes/src/node_base", 87 "$camera_path/pipeline_core/nodes/src/dummy_node", 88 "$camera_path/pipeline_core/pipeline_impl/include", 89 "$camera_path/pipeline_core/pipeline_impl/src", 90 "$camera_path/pipeline_core/pipeline_impl/src/builder", 91 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 92 "$camera_path/pipeline_core/pipeline_impl/src/parser", 93 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 94 "$camera_path/pipeline_core/ipp/include", 95 96 "//system/core/include/cutils", 97 ] 98 99 deps = [ 100 "$camera_path/buffer_manager:camera_buffer_manager", 101 "$camera_path/device_manager:camera_device_manager", 102 "$camera_path/pipeline_core:camera_pipeline_core", 103 "$camera_path/utils:camera_utils", 104 "$camera_path/utils/metadata:metadata_lite", 105 "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", 106 "//foundation/graphic/surface:surface", 107 ] 108 external_deps = [ "device_driver_framework:libhdf_utils" ] 109 public_configs = [ ":camhdi_impl_config" ] 110 subsystem_name = "hdf" 111 part_name = "camera_device_driver" 112 } 113} else { 114 import("//build/ohos.gni") 115 import("//drivers/adapter/uhdf2/uhdf.gni") 116 117 config("camhdi_impl_config") { 118 visibility = [ ":*" ] 119 cflags = [ 120 "-Wall", 121 "-Wextra", 122 "-Werror", 123 "-DGST_DISABLE_DEPRECATED", 124 "-DHAVE_CONFIG_H", 125 "-fno-strict-aliasing", 126 "-Wno-sign-compare", 127 "-Wno-builtin-requires-header", 128 "-Wno-implicit-function-declaration", 129 "-Wno-format", 130 "-Wno-int-conversion", 131 "-Wno-unused-function", 132 "-Wno-thread-safety-attributes", 133 "-Wno-inconsistent-missing-override", 134 "-fno-rtti", 135 "-fno-exceptions", 136 "-ffunction-sections", 137 "-fdata-sections", 138 ] 139 140 ldflags = [ "-Wl" ] 141 142 if (enable_camera_device_utest) { 143 cflags += [ 144 "-fprofile-arcs", 145 "-ftest-coverage", 146 ] 147 148 ldflags += [ "--coverage" ] 149 } 150 } 151 152 ohos_shared_library("camera_hdi_impl") { 153 sources = [ 154 "$camera_path/../interfaces/hdi_ipc/callback/device/src/camera_device_callback_proxy.cpp", 155 "$camera_path/../interfaces/hdi_ipc/callback/host/src/camera_host_callback_proxy.cpp", 156 "$camera_path/../interfaces/hdi_ipc/callback/operator/src/stream_operator_callback_proxy.cpp", 157 "$camera_path/../interfaces/hdi_ipc/server/src/camera_device_stub.cpp", 158 "$camera_path/../interfaces/hdi_ipc/server/src/camera_host_driver.cpp", 159 "$camera_path/../interfaces/hdi_ipc/server/src/camera_host_stub.cpp", 160 "$camera_path/../interfaces/hdi_ipc/server/src/offline_stream_operator_stub.cpp", 161 "$camera_path/../interfaces/hdi_ipc/server/src/stream_operator_stub.cpp", 162 "$camera_path/../interfaces/hdi_ipc/utils/src/utils_data_stub.cpp", 163 "$camera_path/hdi_impl/src/camera_device/camera_device.cpp", 164 "$camera_path/hdi_impl/src/camera_device/camera_device_impl.cpp", 165 "$camera_path/hdi_impl/src/camera_host/camera_host.cpp", 166 "$camera_path/hdi_impl/src/camera_host/camera_host_config.cpp", 167 "$camera_path/hdi_impl/src/camera_host/camera_host_impl.cpp", 168 "$camera_path/hdi_impl/src/camera_host/hcs_deal.cpp", 169 "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream.cpp", 170 "$camera_path/hdi_impl/src/offline_stream_operator/offline_stream_operator.cpp", 171 "$camera_path/hdi_impl/src/stream_operator/capture_message.cpp", 172 "$camera_path/hdi_impl/src/stream_operator/capture_request.cpp", 173 "$camera_path/hdi_impl/src/stream_operator/stream_base.cpp", 174 "$camera_path/hdi_impl/src/stream_operator/stream_operator.cpp", 175 "$camera_path/hdi_impl/src/stream_operator/stream_post_view.cpp", 176 "$camera_path/hdi_impl/src/stream_operator/stream_preview.cpp", 177 "$camera_path/hdi_impl/src/stream_operator/stream_still_capture.cpp", 178 "$camera_path/hdi_impl/src/stream_operator/stream_tunnel/standard/stream_tunnel.cpp", 179 "$camera_path/hdi_impl/src/stream_operator/stream_video.cpp", 180 ] 181 include_dirs = [ 182 "$camera_path/../interfaces/include", 183 "$camera_path/../interfaces/hdi_ipc", 184 "$camera_path/../interfaces/hdi_ipc/utils/include", 185 "$camera_path/../interfaces/hdi_ipc/utils/include", 186 "$camera_path/../interfaces/hdi_ipc/server/include", 187 "$camera_path/../interfaces/hdi_ipc/callback/host/include", 188 "$camera_path/../interfaces/hdi_ipc/callback/device/include", 189 "$camera_path/../interfaces/hdi_ipc/callback/operator/include", 190 "$camera_path/include", 191 "$camera_path/hdi_impl", 192 "$camera_path/utils/watchdog", 193 "$camera_path/hdi_impl/include", 194 "$camera_path/hdi_impl/include/camera_host", 195 "$camera_path/hdi_impl/include/camera_device", 196 "$camera_path/hdi_impl/include/stream_operator", 197 "$camera_path/hdi_impl/src/stream_operator/stream_tunnel/standard", 198 "$camera_path/hdi_impl/include/offline_stream_operator", 199 "$camera_path/device_manager/include/", 200 "$camera_path/buffer_manager/src/buffer_adapter/standard", 201 "//base/hiviewdfx/interfaces/innerkits/libhilog/include", 202 "$camera_path/utils/event", 203 "//drivers/peripheral/camera/interfaces/metadata/include", 204 "//drivers/peripheral/display/interfaces/include", 205 206 #producer 207 "//utils/native/base/include", 208 "//foundation/communication/ipc/ipc/native/src/core/include", 209 "$camera_path/pipeline_core/utils", 210 "$camera_path/pipeline_core/include", 211 "$camera_path/pipeline_core/host_stream/include", 212 "$camera_path/pipeline_core/nodes/include", 213 "$camera_path/pipeline_core/nodes/src/node_base", 214 "$camera_path/pipeline_core/nodes/src/dummy_node", 215 "$camera_path/pipeline_core/pipeline_impl/include", 216 "$camera_path/pipeline_core/pipeline_impl/src", 217 "$camera_path/pipeline_core/pipeline_impl/src/builder", 218 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 219 "$camera_path/pipeline_core/pipeline_impl/src/parser", 220 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 221 "$camera_path/pipeline_core/ipp/include", 222 223 # hcs parser 224 "//system/core/include/cutils", 225 ] 226 227 deps = [ 228 "$camera_path/buffer_manager:camera_buffer_manager", 229 "$camera_path/device_manager:camera_device_manager", 230 "$camera_path/pipeline_core:camera_pipeline_core", 231 "$camera_path/utils:camera_utils", 232 "//drivers/peripheral/camera/interfaces/metadata:metadata", 233 ] 234 235 defines = [] 236 if (enable_camera_device_utest) { 237 defines += [ "CAMERA_DEVICE_UTEST" ] 238 } 239 if (use_hitrace) { 240 defines += [ "HITRACE_LOG_ENABLED" ] 241 } 242 243 if (is_standard_system) { 244 external_deps = [ 245 "device_driver_framework:libhdf_host", 246 "device_driver_framework:libhdf_ipc_adapter", 247 "device_driver_framework:libhdf_utils", 248 "device_driver_framework:libhdi", 249 "graphic_standard:surface", 250 "hiviewdfx_hilog_native:libhilog", 251 "ipc:ipc_single", 252 "utils_base:utils", 253 ] 254 if (use_hitrace) { 255 external_deps += [ "hitrace_native:libhitrace" ] 256 } 257 } else { 258 external_deps = [ "hilog:libhilog" ] 259 } 260 external_deps += [ "ipc:ipc_single" ] 261 262 public_configs = [ ":camhdi_impl_config" ] 263 install_images = [ chipset_base_dir ] 264 subsystem_name = "hdf" 265 part_name = "camera_device_driver" 266 } 267} 268