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