1094332d3Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 2094332d3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3094332d3Sopenharmony_ci# you may not use this file except in compliance with the License. 4094332d3Sopenharmony_ci# You may obtain a copy of the License at 5094332d3Sopenharmony_ci# 6094332d3Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7094332d3Sopenharmony_ci# 8094332d3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9094332d3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10094332d3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11094332d3Sopenharmony_ci# See the License for the specific language governing permissions and 12094332d3Sopenharmony_ci# limitations under the License. 13094332d3Sopenharmony_ci 14094332d3Sopenharmony_ciimport("../../camera.gni") 15094332d3Sopenharmony_ci 16094332d3Sopenharmony_ciif (defined(ohos_lite)) { 17094332d3Sopenharmony_ci import("//build/ohos.gni") 18094332d3Sopenharmony_ci import("../../../../hdf_core/adapter/uhdf/uhdf.gni") 19094332d3Sopenharmony_ci 20094332d3Sopenharmony_ci config("camhdi_impl_config") { 21094332d3Sopenharmony_ci visibility = [ ":*" ] 22094332d3Sopenharmony_ci cflags = [ 23094332d3Sopenharmony_ci "-DGST_DISABLE_DEPRECATED", 24094332d3Sopenharmony_ci "-DHAVE_CONFIG_H", 25094332d3Sopenharmony_ci ] 26094332d3Sopenharmony_ci 27094332d3Sopenharmony_ci cflags_cc = [ "-std=c++17" ] 28094332d3Sopenharmony_ci ldflags = [ "-Wl" ] 29094332d3Sopenharmony_ci 30094332d3Sopenharmony_ci ldflags += [ "--coverage" ] 31094332d3Sopenharmony_ci } 32094332d3Sopenharmony_ci 33094332d3Sopenharmony_ci ohos_shared_library("camera_host_service_1.0") { 34094332d3Sopenharmony_ci output_extension = "z.so" 35094332d3Sopenharmony_ci sources = [ 36094332d3Sopenharmony_ci "./src/camera_device_service.cpp", 37094332d3Sopenharmony_ci "./src/camera_host_service.cpp", 38094332d3Sopenharmony_ci "./src/offline_stream_operator_service.cpp", 39094332d3Sopenharmony_ci "./src/stream_operator_service.cpp", 40094332d3Sopenharmony_ci ] 41094332d3Sopenharmony_ci 42094332d3Sopenharmony_ci include_dirs = [ 43094332d3Sopenharmony_ci "$camera_path/../../interfaces/include", 44094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_passthrough", 45094332d3Sopenharmony_ci "$camera_path/include", 46094332d3Sopenharmony_ci "$camera_path/utils/watchdog", 47094332d3Sopenharmony_ci "$camera_path/../interfaces", 48094332d3Sopenharmony_ci "./include", 49094332d3Sopenharmony_ci ] 50094332d3Sopenharmony_ci 51094332d3Sopenharmony_ci deps = [ "$camera_path/utils:peripheral_camera_utils" ] 52094332d3Sopenharmony_ci external_deps = [ 53094332d3Sopenharmony_ci "drivers_interface_camera:metadata", 54094332d3Sopenharmony_ci "graphic_surface:surface", 55094332d3Sopenharmony_ci "hdf_core:libhdf_utils", 56094332d3Sopenharmony_ci "hilog_lite:hilog_shared", 57094332d3Sopenharmony_ci ] 58094332d3Sopenharmony_ci public_configs = [ ":camhdi_impl_config" ] 59094332d3Sopenharmony_ci subsystem_name = "hdf" 60094332d3Sopenharmony_ci part_name = "drivers_peripheral_camera" 61094332d3Sopenharmony_ci } 62094332d3Sopenharmony_ci} else { 63094332d3Sopenharmony_ci import("//build/ohos.gni") 64094332d3Sopenharmony_ci 65094332d3Sopenharmony_ci config("camhdi_impl_config") { 66094332d3Sopenharmony_ci visibility = [ ":*" ] 67094332d3Sopenharmony_ci cflags = [ 68094332d3Sopenharmony_ci "-DGST_DISABLE_DEPRECATED", 69094332d3Sopenharmony_ci "-DHAVE_CONFIG_H", 70094332d3Sopenharmony_ci ] 71094332d3Sopenharmony_ci 72094332d3Sopenharmony_ci ldflags = [ "-Wl" ] 73094332d3Sopenharmony_ci 74094332d3Sopenharmony_ci if (enable_camera_device_utest) { 75094332d3Sopenharmony_ci cflags += [ 76094332d3Sopenharmony_ci "-fprofile-arcs", 77094332d3Sopenharmony_ci "-ftest-coverage", 78094332d3Sopenharmony_ci ] 79094332d3Sopenharmony_ci 80094332d3Sopenharmony_ci ldflags += [ "--coverage" ] 81094332d3Sopenharmony_ci } 82094332d3Sopenharmony_ci } 83094332d3Sopenharmony_ci 84094332d3Sopenharmony_ci host_sources = [ 85094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc/camera_host_driver.cpp", 86094332d3Sopenharmony_ci "./src/camera_device_service.cpp", 87094332d3Sopenharmony_ci "./src/camera_device_service_callback.cpp", 88094332d3Sopenharmony_ci "./src/camera_host_service.cpp", 89094332d3Sopenharmony_ci "./src/camera_host_service_callback.cpp", 90094332d3Sopenharmony_ci "./src/camera_service_type_converter.cpp", 91094332d3Sopenharmony_ci "./src/offline_stream_operator_service.cpp", 92094332d3Sopenharmony_ci "./src/stream_operator_service.cpp", 93094332d3Sopenharmony_ci "./src/stream_operator_service_callback.cpp", 94094332d3Sopenharmony_ci ] 95094332d3Sopenharmony_ci 96094332d3Sopenharmony_ci host_includes = [ 97094332d3Sopenharmony_ci "$camera_path/../../interfaces/include", 98094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc", 99094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc/utils/include", 100094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc/callback/host/include", 101094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc/callback/device/include", 102094332d3Sopenharmony_ci "$camera_path/../../interfaces/hdi_ipc/callback/operator/include", 103094332d3Sopenharmony_ci "$camera_path/include", 104094332d3Sopenharmony_ci "$camera_path/utils/watchdog", 105094332d3Sopenharmony_ci "$camera_path/../interfaces", 106094332d3Sopenharmony_ci "./include", 107094332d3Sopenharmony_ci ] 108094332d3Sopenharmony_ci 109094332d3Sopenharmony_ci ohos_shared_library("camera_host_service_1.0") { 110094332d3Sopenharmony_ci sources = host_sources 111094332d3Sopenharmony_ci include_dirs = host_includes 112094332d3Sopenharmony_ci 113094332d3Sopenharmony_ci deps = [ "$camera_path/utils:peripheral_camera_utils" ] 114094332d3Sopenharmony_ci 115094332d3Sopenharmony_ci defines = [] 116094332d3Sopenharmony_ci if (enable_camera_device_utest) { 117094332d3Sopenharmony_ci defines += [ "CAMERA_DEVICE_UTEST" ] 118094332d3Sopenharmony_ci } 119094332d3Sopenharmony_ci if (use_hitrace) { 120094332d3Sopenharmony_ci defines += [ "HITRACE_LOG_ENABLED" ] 121094332d3Sopenharmony_ci } 122094332d3Sopenharmony_ci if (drivers_peripheral_camera_feature_usb) { 123094332d3Sopenharmony_ci defines += [ "CHIP_PROD_CAMERA_HOST_CONFIG" ] 124094332d3Sopenharmony_ci } 125094332d3Sopenharmony_ci 126094332d3Sopenharmony_ci if (is_standard_system) { 127094332d3Sopenharmony_ci external_deps = [ 128094332d3Sopenharmony_ci "c_utils:utils", 129094332d3Sopenharmony_ci "graphic_surface:surface", 130094332d3Sopenharmony_ci "hdf_core:libhdf_host", 131094332d3Sopenharmony_ci "hdf_core:libhdf_ipc_adapter", 132094332d3Sopenharmony_ci "hdf_core:libhdf_utils", 133094332d3Sopenharmony_ci "hdf_core:libhdi", 134094332d3Sopenharmony_ci "hilog:libhilog", 135094332d3Sopenharmony_ci "ipc:ipc_single", 136094332d3Sopenharmony_ci ] 137094332d3Sopenharmony_ci } else { 138094332d3Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 139094332d3Sopenharmony_ci } 140094332d3Sopenharmony_ci 141094332d3Sopenharmony_ci if (use_hitrace) { 142094332d3Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 143094332d3Sopenharmony_ci } 144094332d3Sopenharmony_ci 145094332d3Sopenharmony_ci external_deps += [ 146094332d3Sopenharmony_ci "drivers_interface_camera:libcamera_stub_1.0", 147094332d3Sopenharmony_ci "drivers_interface_camera:metadata", 148094332d3Sopenharmony_ci "ipc:ipc_single", 149094332d3Sopenharmony_ci ] 150094332d3Sopenharmony_ci shlib_type = "hdi" 151094332d3Sopenharmony_ci public_configs = [ ":camhdi_impl_config" ] 152094332d3Sopenharmony_ci install_images = [ chipset_base_dir ] 153094332d3Sopenharmony_ci subsystem_name = "hdf" 154094332d3Sopenharmony_ci part_name = "drivers_peripheral_camera" 155094332d3Sopenharmony_ci } 156094332d3Sopenharmony_ci 157094332d3Sopenharmony_ci ohos_static_library("camera_host_service_1.0_static") { 158094332d3Sopenharmony_ci sources = host_sources 159094332d3Sopenharmony_ci include_dirs = host_includes 160094332d3Sopenharmony_ci 161094332d3Sopenharmony_ci deps = [ "$camera_path/utils:peripheral_camera_utils" ] 162094332d3Sopenharmony_ci 163094332d3Sopenharmony_ci defines = [] 164094332d3Sopenharmony_ci if (enable_camera_device_utest) { 165094332d3Sopenharmony_ci defines += [ "CAMERA_DEVICE_UTEST" ] 166094332d3Sopenharmony_ci } 167094332d3Sopenharmony_ci if (use_hitrace) { 168094332d3Sopenharmony_ci defines += [ "HITRACE_LOG_ENABLED" ] 169094332d3Sopenharmony_ci } 170094332d3Sopenharmony_ci 171094332d3Sopenharmony_ci if (is_standard_system) { 172094332d3Sopenharmony_ci external_deps = [ 173094332d3Sopenharmony_ci "c_utils:utils", 174094332d3Sopenharmony_ci "graphic_surface:surface", 175094332d3Sopenharmony_ci "hdf_core:libhdf_host", 176094332d3Sopenharmony_ci "hdf_core:libhdf_ipc_adapter", 177094332d3Sopenharmony_ci "hdf_core:libhdf_utils", 178094332d3Sopenharmony_ci "hdf_core:libhdi", 179094332d3Sopenharmony_ci "hilog:libhilog", 180094332d3Sopenharmony_ci "ipc:ipc_single", 181094332d3Sopenharmony_ci ] 182094332d3Sopenharmony_ci } else { 183094332d3Sopenharmony_ci external_deps = [ "hilog:libhilog" ] 184094332d3Sopenharmony_ci } 185094332d3Sopenharmony_ci 186094332d3Sopenharmony_ci if (use_hitrace) { 187094332d3Sopenharmony_ci external_deps += [ "hitrace:hitrace_meter" ] 188094332d3Sopenharmony_ci } 189094332d3Sopenharmony_ci 190094332d3Sopenharmony_ci external_deps += [ 191094332d3Sopenharmony_ci "drivers_interface_camera:libcamera_stub_1.0", 192094332d3Sopenharmony_ci "drivers_interface_camera:metadata", 193094332d3Sopenharmony_ci "ipc:ipc_single", 194094332d3Sopenharmony_ci ] 195094332d3Sopenharmony_ci 196094332d3Sopenharmony_ci public_configs = [ ":camhdi_impl_config" ] 197094332d3Sopenharmony_ci subsystem_name = "hdf" 198094332d3Sopenharmony_ci part_name = "drivers_peripheral_camera" 199094332d3Sopenharmony_ci } 200094332d3Sopenharmony_ci} 201