# Copyright (c) 2021 Huawei Device Co., Ltd. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. if (defined(ohos_lite)) { import("//build/lite/config/component/lite_component.gni") } else { import("//build/ohos.gni") } import("//drivers/adapter/uhdf2/uhdf.gni") import("//drivers/peripheral/audio/audio.gni") config("hdi_service_config") { visibility = [ ":*" ] cflags = [ "-Wall", "-Wextra", "-Werror", "-DGST_DISABLE_DEPRECATED", "-DHAVE_CONFIG_H", "-fno-strict-aliasing", "-Wno-sign-compare", "-Wno-builtin-requires-header", "-Wno-implicit-function-declaration", "-Wno-format", "-Wno-int-conversion", "-Wno-unused-function", "-Wno-unused-parameter", "-Wno-thread-safety-attributes", "-Wno-inconsistent-missing-override", "-fno-rtti", "-fno-exceptions", "-ffunction-sections", "-fdata-sections", ] ldflags = [ "-Wl" ] } if ("$product_name" != "ohos-arm64") { import("//vendor/$product_company/$product_name/hals/audio/product.gni") } if (!defined(enable_hdf_proxy_stub) || enable_hdf_proxy_stub == true) { if (defined(ohos_lite)) { shared_library("hdi_audio_server") { include_dirs = [ "//drivers/peripheral/audio/interfaces/include", "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/hal/hdi_binder/proxy/include", "//drivers/peripheral/audio/hal/hdi_binder/server/include", "//third_party/bounds_checking_function/include", ] sources = [ "$hdf_framework_path/support/posix/src/osal_mem.c", "$hdf_framework_path/utils/src/hdf_sbuf.c", "src/hdf_audio_server.c", "src/hdf_audio_server_capture.c", "src/hdf_audio_server_common.c", "src/hdf_audio_server_render.c", "src/pnp_message_report.c", ] deps = [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio_common", "//third_party/bounds_checking_function:libsec_shared", ] if (!defined(enable_audio_user_mode) || !enable_audio_user_mode) { deps += [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio" ] } else { deps += [ "//device/soc/${product_company}/common/hal/media:hdi_audio" ] } if (enable_audio_hal_hdf_log) { defines = [ "AUDIO_HAL_HDF_LOG" ] } public_configs = [ ":hdi_service_config" ] } lite_component("hdi") { features = [ ":hdi_audio_server" ] } } else { ohos_shared_library("hdi_audio_server") { include_dirs = [ "//drivers/peripheral/audio/interfaces/include", "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/hal/hdi_binder/server/include", "//third_party/bounds_checking_function/include", ] sources = [ "src/hdf_audio_server.c", "src/hdf_audio_server_capture.c", "src/hdf_audio_server_common.c", "src/hdf_audio_server_render.c", "src/pnp_message_report.c", ] deps = [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio_common" ] if (!defined(enable_audio_user_mode) || !enable_audio_user_mode) { deps += [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio" ] } else { deps += [ "//device/soc/${product_company}/common/hal/media:hdi_audio" ] } defines = [] if (enable_audio_device_mpi) { defines += [ "AUDIO_HAL_USER" ] } if (is_standard_system) { external_deps = [ "device_driver_framework:libhdf_host", "device_driver_framework:libhdf_ipc_adapter", "device_driver_framework:libhdf_utils", "device_driver_framework:libhdi", "hiviewdfx_hilog_native:libhilog", "utils_base:utils", ] } else { external_deps = [ "hilog:libhilog" ] } if (enable_audio_hal_hdf_log) { defines += [ "AUDIO_HAL_HDF_LOG" ] } public_configs = [ ":hdi_service_config" ] install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "audio_device_driver" } } }