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 19import("$hdf_core_path/adapter/uhdf2/uhdf.gni") 20config("pipe_config") { 21 visibility = [ ":*" ] 22 23 defines = [] 24 if (drivers_peripheral_camera_feature_usb) { 25 defines += [ "CAMERA_BUILT_ON_USB" ] 26 } 27 if (target_cpu == "arm64" || target_cpu == "x86_64") { 28 defines += [ "__ARCH64__" ] 29 } 30 31 cflags_cc = [ 32 "-Wall", 33 "-Wextra", 34 "-Werror", 35 "-Wno-error", 36 "-DGST_DISABLE_DEPRECATED", 37 "-DHAVE_CONFIG_H", 38 "-DCOLORSPACE=\"videoconvert\"", 39 "-fno-strict-aliasing", 40 "-Wno-sign-compare", 41 "-Wno-builtin-requires-header", 42 "-Wno-unused-variable", 43 "-Wno-unused-label", 44 "-Wno-implicit-function-declaration", 45 "-Wno-format", 46 "-Wno-int-conversion", 47 "-Wno-unused-function", 48 "-Wno-thread-safety-attributes", 49 "-Wno-inconsistent-missing-override", 50 "-fno-rtti", 51 "-fno-exceptions", 52 "-ffunction-sections", 53 "-fdata-sections", 54 ] 55 56 include_dirs = [ 57 "$camera_path/pipeline_core", 58 "$camera_path/pipeline_core/host_stream/include", 59 "$camera_path/pipeline_core/utils", 60 "$camera_path/pipeline_core/nodes/include", 61 "$camera_path/pipeline_core/nodes/src/sensor_node", 62 "$camera_path/pipeline_core/nodes/src/node_base", 63 "$camera_path/pipeline_core/nodes/src/sink_node", 64 "$camera_path/pipeline_core/nodes/src/source_node", 65 "$camera_path/pipeline_core/nodes/src/merge_node", 66 "$camera_path/pipeline_core/nodes/src/dummy_node", 67 "$camera_path/pipeline_core/pipeline_impl/include", 68 "$camera_path/pipeline_core/pipeline_impl/src", 69 "$camera_path/pipeline_core/include", 70 "$camera_path/pipeline_core/pipeline_impl/src/builder", 71 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 72 "$camera_path/pipeline_core/pipeline_impl/src/parser", 73 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 74 "$camera_path/pipeline_core/pipeline_impl/src/strategy/config", 75 "$camera_path/pipeline_core/ipp/include", 76 ] 77} 78 79ohos_shared_library("peripheral_camera_pipeline_core") { 80 sources = [ 81 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node/uvc_node.cpp", 82 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node/v4l2_source_node.cpp", 83 "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp", 84 "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp", 85 "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp", 86 "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp", 87 "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp", 88 "$camera_path/pipeline_core/ipp/src/ipp_node.cpp", 89 "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp", 90 "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp", 91 "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp", 92 "$camera_path/pipeline_core/nodes/src/fork_node/fork_node.cpp", 93 "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp", 94 "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp", 95 "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp", 96 "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp", 97 "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp", 98 "$camera_path/pipeline_core/nodes/src/stability_node/stability_node.cpp", 99 "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp", 100 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp", 101 "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp", 102 "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp", 103 "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp", 104 "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_data_structure.cpp", 105 ] 106 include_dirs = [ 107 "$camera_path/utils/exif", 108 "$camera_path/../../interfaces/include", 109 "$camera_path/../../interfaces/hdi_ipc", 110 "$camera_path/include", 111 "$camera_path/../interfaces", 112 "$camera_path/../v4l2", 113 "$camera_path/../v4l2/camera_host/include", 114 "$camera_path/../v4l2/camera_device/include", 115 "$camera_path/../v4l2/stream_operator/include", 116 "$camera_path/../v4l2/include", 117 "$camera_path/device_manager", 118 "$camera_path/device_manager/include", 119 "$camera_path/metadata_manager/include", 120 "$camera_path/pipeline_core", 121 "$camera_path/pipeline_core/host_stream/include", 122 "$camera_path/pipeline_core/utils", 123 "$camera_path/pipeline_core/nodes/include", 124 "$camera_path/pipeline_core/nodes/src/sensor_node", 125 "$camera_path/pipeline_core/nodes/src/node_base", 126 "$camera_path/pipeline_core/nodes/src/sink_node", 127 "$camera_path/pipeline_core/nodes/src/source_node", 128 "$camera_path/pipeline_core/nodes/src/merge_node", 129 "$camera_path/pipeline_core/nodes/src/dummy_node", 130 "$camera_path/pipeline_core/pipeline_impl/include", 131 "$camera_path/pipeline_core/pipeline_impl/src", 132 "$camera_path/pipeline_core/include", 133 "$camera_path/pipeline_core/pipeline_impl/src/builder", 134 "$camera_path/pipeline_core/pipeline_impl/src/dispatcher", 135 "$camera_path/pipeline_core/pipeline_impl/src/parser", 136 "$camera_path/pipeline_core/pipeline_impl/src/strategy", 137 "$camera_path/pipeline_core/ipp/include", 138 "$camera_path/interfaces/hdi", 139 "$camera_path/utils/event", 140 "$camera_path/adapter/platform/v4l2/src/device_manager/include", 141 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node", 142 "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node", 143 "$camera_path/adapter/platform/v4l2/src/driver_adapter/include/", 144 "$camera_path/dump/include", 145 "$camera_path/../interfaces", 146 ] 147 148 deps = [ 149 "$camera_path/buffer_manager:peripheral_camera_buffer_manager", 150 "$camera_path/device_manager:peripheral_camera_device_manager", 151 "$camera_path/metadata_manager:peripheral_camera_metadata_manager", 152 "$camera_path/utils:peripheral_camera_utils", 153 ] 154 155 if (is_standard_system) { 156 external_deps = [ 157 "hdf_core:libhdf_utils", 158 "hilog:libhilog", 159 ] 160 } else { 161 external_deps = [ "hilog:libhilog" ] 162 } 163 external_deps += [ 164 "c_utils:utils", 165 "drivers_interface_camera:libbuffer_producer_sequenceable_1.0", 166 "drivers_interface_camera:metadata", 167 "graphic_surface:surface", 168 "hdf_core:libhdf_host", 169 "ipc:ipc_single", 170 ] 171 172 public_configs = [ ":pipe_config" ] 173 install_images = [ chipset_base_dir ] 174 subsystem_name = "hdf" 175 part_name = "drivers_peripheral_camera" 176} 177 178config("example_config") { 179 visibility = [ ":*" ] 180 181 cflags = [ 182 "-Wno-error", 183 "-Wno-unused-function", 184 "-Wno-unused-parameter", 185 ] 186} 187 188ohos_shared_library("camera_ipp_algo_example") { 189 sources = [ "src/ipp_algo_example/ipp_algo_example.c" ] 190 191 include_dirs = [ "$camera_path/pipeline_core/ipp/include" ] 192 external_deps = [ "c_utils:utils" ] 193 public_configs = [ ":example_config" ] 194 install_images = [ chipset_base_dir ] 195 subsystem_name = "hdf" 196 part_name = "drivers_peripheral_camera" 197} 198