1# Copyright (c) 2023 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13import("//build/ohos.gni") 14 15# NOSORT 16import("../../../camera.gni") 17 18# NOSORT 19config("pipe_config") { 20 visibility = [ ":*" ] 21 22 defines = [] 23 if (drivers_peripheral_camera_feature_usb) { 24 defines += [ "CAMERA_BUILT_ON_USB" ] 25 } 26 if (target_cpu == "arm64" || target_cpu == "x86_64") { 27 defines += [ "__ARCH64__" ] 28 } 29 30 cflags_cc = [ 31 "-Wall", 32 "-Wextra", 33 "-Werror", 34 "-Wno-error", 35 "-DGST_DISABLE_DEPRECATED", 36 "-DHAVE_CONFIG_H", 37 "-DCOLORSPACE=\"videoconvert\"", 38 "-fno-strict-aliasing", 39 "-Wno-sign-compare", 40 "-Wno-builtin-requires-header", 41 "-Wno-unused-variable", 42 "-Wno-unused-label", 43 "-Wno-implicit-function-declaration", 44 "-Wno-format", 45 "-Wno-int-conversion", 46 "-Wno-unused-function", 47 "-Wno-thread-safety-attributes", 48 "-Wno-inconsistent-missing-override", 49 "-fno-rtti", 50 "-fno-exceptions", 51 "-ffunction-sections", 52 "-fdata-sections", 53 ] 54 55 include_dirs = [ 56 "$camera_path/pipeline_core", 57 "$camera_path/pipeline_core/host_stream/include", 58 "$camera_path/pipeline_core/utils", 59 "$camera_path/pipeline_core/nodes/include", 60 "$camera_path/pipeline_core/nodes/src/sensor_node", 61 "$camera_path/pipeline_core/nodes/src/node_base", 62 "$camera_path/pipeline_core/nodes/src/sink_node", 63 "$camera_path/pipeline_core/nodes/src/source_node", 64 "$camera_path/pipeline_core/nodes/src/merge_node", 65 "$camera_path/pipeline_core/nodes/src/dummy_node", 66 "$camera_path/pipeline_core/pipeline_impl/include", 67 "$camera_path/pipeline_core/pipeline_impl/src", 68 "$camera_path/pipeline_core/include", 69 "$camera_path/pipeline_core/pipeline_impl/src/builder", 70 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 71 "$camera_path/pipeline_core/pipeline_impl/src/parser", 72 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 73 "$camera_path/pipeline_core/pipeline_impl/src/strategy/config", 74 "$camera_path/pipeline_core/ipp/include", 75 ] 76} 77 78ohos_shared_library("peripheral_camera_pipeline_core") { 79 sources = [ 80 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node/uvc_node.cpp", 81 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node/v4l2_source_node.cpp", 82 "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp", 83 "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp", 84 "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp", 85 "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp", 86 "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp", 87 "$camera_path/pipeline_core/ipp/src/ipp_node.cpp", 88 "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp", 89 "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp", 90 "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp", 91 "$camera_path/pipeline_core/nodes/src/fork_node/fork_node.cpp", 92 "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp", 93 "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp", 94 "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp", 95 "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp", 96 "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp", 97 "$camera_path/pipeline_core/nodes/src/stability_node/stability_node.cpp", 98 "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp", 99 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp", 100 "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp", 101 "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp", 102 "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp", 103 "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_data_structure.cpp", 104 ] 105 include_dirs = [ 106 "$camera_path/utils/exif", 107 "$camera_path/../../interfaces/include", 108 "$camera_path/../../interfaces/hdi_ipc", 109 "$camera_path/include", 110 "$camera_path/../interfaces", 111 "$camera_path/../v4l2", 112 "$camera_path/../v4l2/camera_host/include", 113 "$camera_path/../v4l2/camera_device/include", 114 "$camera_path/../v4l2/stream_operator/include", 115 "$camera_path/../v4l2/include", 116 "$camera_path/device_manager", 117 "$camera_path/device_manager/include", 118 "$camera_path/metadata_manager/include", 119 "$camera_path/pipeline_core", 120 "$camera_path/pipeline_core/host_stream/include", 121 "$camera_path/pipeline_core/utils", 122 "$camera_path/pipeline_core/nodes/include", 123 "$camera_path/pipeline_core/nodes/src/sensor_node", 124 "$camera_path/pipeline_core/nodes/src/node_base", 125 "$camera_path/pipeline_core/nodes/src/sink_node", 126 "$camera_path/pipeline_core/nodes/src/source_node", 127 "$camera_path/pipeline_core/nodes/src/merge_node", 128 "$camera_path/pipeline_core/nodes/src/dummy_node", 129 "$camera_path/pipeline_core/pipeline_impl/include", 130 "$camera_path/pipeline_core/pipeline_impl/src", 131 "$camera_path/pipeline_core/include", 132 "$camera_path/pipeline_core/pipeline_impl/src/builder", 133 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 134 "$camera_path/pipeline_core/pipeline_impl/src/parser", 135 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 136 "$camera_path/pipeline_core/ipp/include", 137 "$camera_path/interfaces/hdi", 138 "$camera_path/utils/event", 139 "$camera_path/adapter/platform/v4l2/src/device_manager/include", 140 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node", 141 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node", 142 "$camera_path/adapter/platform/v4l2/src/driver_adapter/include/", 143 "$camera_path/dump/include", 144 "$camera_path/../interfaces", 145 ] 146 147 deps = [ 148 "$camera_path/buffer_manager:peripheral_camera_buffer_manager", 149 "$camera_path/device_manager:peripheral_camera_device_manager", 150 "$camera_path/metadata_manager:peripheral_camera_metadata_manager", 151 "$camera_path/utils:peripheral_camera_utils", 152 ] 153 154 if (is_standard_system) { 155 external_deps = [ 156 "hdf_core:libhdf_utils", 157 "hilog:libhilog", 158 ] 159 } else { 160 external_deps = [ "hilog:libhilog" ] 161 } 162 external_deps += [ 163 "c_utils:utils", 164 "drivers_interface_camera:libbuffer_producer_sequenceable_1.0", 165 "drivers_interface_camera:metadata", 166 "graphic_surface:surface", 167 "hdf_core:libhdf_host", 168 "ipc:ipc_single", 169 ] 170 171 public_external_deps = [ "libjpeg-turbo:turbojpeg_static" ] 172 173 public_configs = [ ":pipe_config" ] 174 install_images = [ chipset_base_dir ] 175 subsystem_name = "hdf" 176 part_name = "drivers_peripheral_camera" 177} 178 179config("example_config") { 180 visibility = [ ":*" ] 181 182 cflags = [ 183 "-Wno-error", 184 "-Wno-unused-function", 185 "-Wno-unused-parameter", 186 ] 187} 188 189ohos_shared_library("camera_ipp_algo_example") { 190 sources = [ "src/ipp_algo_example/ipp_algo_example.c" ] 191 192 include_dirs = [ "$camera_path/pipeline_core/ipp/include" ] 193 external_deps = [ "c_utils:utils" ] 194 public_configs = [ ":example_config" ] 195 install_images = [ chipset_base_dir ] 196 subsystem_name = "hdf" 197 part_name = "drivers_peripheral_camera" 198} 199