# 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. import("//build/ohos.gni") import("//drivers/adapter/uhdf2/uhdf.gni") import("//drivers/peripheral/audio/audio.gni") config("hdi_audio_config") { visibility = [ ":*" ] cflags = [ "-fPIC", "-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)) { ohos_shared_library("hdi_audio") { sources = [ "src/audio_adapter.c", "src/audio_capture.c", "src/audio_manager.c", "src/audio_render.c", ] include_dirs = [ "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/supportlibs/adm_adapter/include", "//third_party/cJSON", "//drivers/peripheral/audio/interfaces/include", "//third_party/bounds_checking_function/include", ] deps = [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio_common", "//third_party/bounds_checking_function:libsec_shared", ] external_deps = [ "device_driver_framework:libhdf_utils" ] defines = [] if (enable_audio_hal_notsupport_pathselect) { defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] } if (enable_audio_hal_hdf_log) { defines += [ "AUDIO_HAL_HDF_LOG" ] } ldflags = [ "-L$ohos_root_path/sysroot/usr/lib", "-Wl,-rpath-link=$ohos_root_path/sysroot/usr/lib", "-lstdc++", "-ldl", "-lm", ] public_configs = [ ":hdi_audio_config" ] subsystem_name = "hdf" part_name = "audio_device_driver" } } else { if (!defined(enable_audio_user_mode) || !enable_audio_user_mode) { ohos_shared_library("hdi_audio") { sources = [ "src/audio_adapter.c", "src/audio_capture.c", "src/audio_manager.c", "src/audio_render.c", ] include_dirs = [ "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/supportlibs/adm_adapter/include", "//third_party/cJSON", "//drivers/peripheral/audio/interfaces/include", "//third_party/bounds_checking_function/include", ] defines = [] if (enable_audio_device_mpi) { defines += [ "AUDIO_HAL_USER" ] } if (enable_audio_hal_notsupport_pathselect) { defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] } if (enable_audio_hal_hdf_log) { defines += [ "AUDIO_HAL_HDF_LOG" ] } 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" ] } deps = [ "//drivers/peripheral/audio/hal/hdi_passthrough:hdi_audio_common" ] public_configs = [ ":hdi_audio_config" ] cflags = [] ldflags = [] if (enable_coverage) { cflags = [ "-ftest-coverage", "-fprofile-arcs", ] ldflags = [ "--coverage" ] } install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "audio_device_driver" } } } if (defined(ohos_lite)) { ohos_shared_library("hdi_audio_common") { sources = [ "//third_party/cJSON/cJSON.c", "src/audio_adapter_info_common.c", "src/audio_common.c", ] include_dirs = [ "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/supportlibs/adm_adapter/include", "//third_party/cJSON", "//drivers/peripheral/audio/interfaces/include", "//third_party/bounds_checking_function/include", ] deps = [ "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared", "//third_party/bounds_checking_function:libsec_shared", ] external_deps = [ "device_driver_framework:libhdf_utils" ] defines = [] if (enable_audio_hal_notsupport_pathselect) { defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] } public_configs = [ ":hdi_audio_config" ] subsystem_name = "hdf" part_name = "audio_device_driver" } } else { ohos_shared_library("hdi_audio_common") { sources = [ "//third_party/cJSON/cJSON.c", "src/audio_adapter_info_common.c", "src/audio_common.c", ] include_dirs = [ "//drivers/peripheral/audio/hal/hdi_passthrough/include", "//drivers/peripheral/audio/supportlibs/adm_adapter/include", "//third_party/cJSON", "//drivers/peripheral/audio/interfaces/include", "//third_party/bounds_checking_function/include", ] defines = [] if (enable_audio_device_mpi) { defines += [ "AUDIO_HAL_USER" ] } if (enable_audio_hal_notsupport_pathselect) { defines += [ "AUDIO_HAL_NOTSUPPORT_PATHSELECT" ] } 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" ] } public_configs = [ ":hdi_audio_config" ] cflags = [] ldflags = [] install_images = [ chipset_base_dir ] subsystem_name = "hdf" part_name = "audio_device_driver" } }