# 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 (defined(ohos_lite)) { shared_library("audio_hdi_adapter_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", "$hdf_framework_path/include/core", "$hdf_framework_path/include/utils", "$hdf_framework_path/include/osal", "$hdf_framework_path/ability/sbuf/include", "$hdf_framework_path/utils/include", "$hdf_framework_path/include", "$hdf_framework_path/core/sec/include", "$hdf_framework_path/core/shared/include", "$hdf_framework_path/core/host/include", "$hdf_framework_path/core/manager/include", "$hdf_framework_path/core/common/include/host/", "//third_party/bounds_checking_function/include", "//drivers/adapter/khdf/liteos/osal/include", "//drivers/adapter/uhdf2/shared/include", "//drivers/adapter/uhdf2/include/hdi/", ] sources = [ "$hdf_framework_path/ability/sbuf/src/hdf_sbuf.c", "$hdf_framework_path/support/posix/src/osal_mem.c", "src/hdf_audio_server.c", "src/hdf_audio_server_capture.c", "src/hdf_audio_server_common.c", "src/hdf_audio_server_render.c", ] deps = [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio", "//third_party/bounds_checking_function:libsec_shared", ] public_configs = [ ":hdi_service_config" ] } lite_component("hdi") { features = [ ":audio_hdi_adapter_server" ] } } else { ohos_shared_library("audio_hdi_adapter_server") { include_dirs = [ "//drivers/peripheral/audio/interfaces/include", "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/hal/hdi_binder/server/include", "$hdf_framework_path/include/core", "$hdf_framework_path/include/utils", "$hdf_framework_path/include/osal", "$hdf_framework_path/include", "//third_party/bounds_checking_function/include", "$hdf_framework_path/ability/sbuf/include", "$hdf_framework_path/utils/include", "$hdf_framework_path/ability/sbuf/include", "$hdf_uhdf_path/osal/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", ] deps = [ "$hdf_uhdf_path/config:libhdf_hcs", "$hdf_uhdf_path/hcs:hdf_default.hcb", "$hdf_uhdf_path/hdi:libhdi", "$hdf_uhdf_path/host:hdf_devhost", "$hdf_uhdf_path/host:libhdf_host", "$hdf_uhdf_path/ipc:libhdf_ipc_adapter", "$hdf_uhdf_path/manager:hdf_devmgr", "$hdf_uhdf_path/manager:hdf_devmgr.rc", "$hdf_uhdf_path/osal:libhdf_utils", "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio", "//utils/native/base:utils", ] defines = [] if (enable_audio_device_mpi) { defines += [ "AUDIO_HAL_USER" ] } if (is_standard_system) { external_deps = [ "hiviewdfx_hilog_native:libhilog" ] } else { external_deps = [ "hilog:libhilog" ] } public_configs = [ ":hdi_service_config" ] subsystem_name = "hdf" } }