• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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