• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 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.
13
14import("//build/ohos.gni")
15import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
16import("//drivers/peripheral/audio/audio.gni")
17
18config("audio_interface_config") {
19  visibility = [ ":*" ]
20
21  cflags = []
22  if (drivers_peripheral_audio_feature_mono_to_stereo) {
23    cflags += [ "-DMONO_TO_STEREO" ]
24  }
25
26  ldflags = [ "-Wl" ]
27}
28
29if (defined(ohos_lite)) {
30  ohos_shared_library("hdi_audio_interface_lib_capture") {
31    sources = [
32      "//drivers/peripheral/audio/hal/hdi_passthrough/src/audio_common.c",
33      "adm_adapter/src/audio_interface_lib_capture.c",
34      "adm_adapter/src/audio_interface_lib_common.c",
35    ]
36
37    include_dirs = [
38      "//drivers/peripheral/audio/hal/hdi_passthrough/include",
39      "//drivers/peripheral/audio/supportlibs/adm_adapter/include",
40      "//drivers/peripheral/audio/supportlibs/interfaces/include",
41      "//drivers/peripheral/audio/interfaces/include",
42      "//third_party/bounds_checking_function/include",
43      "//base/hiviewdfx/hilog_lite/interfaces/native/kits/",
44      "//device/hisilicon/hispark_taurus/sdk_linux/huawei_proprietary/include",
45    ]
46
47    deps = [
48      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
49      "//third_party/bounds_checking_function:libsec_shared",
50    ]
51    external_deps = [ "hdf_core:libhdf_utils" ]
52    public_configs = [ ":audio_interface_config" ]
53    defines = [ "_GNU_SOURCE" ]
54    subsystem_name = "hdf"
55    part_name = "drivers_peripheral_audio"
56  }
57
58  ohos_shared_library("hdi_audio_interface_lib_render") {
59    sources = [
60      "//drivers/peripheral/audio/hal/hdi_passthrough/src/audio_common.c",
61      "adm_adapter/src/audio_interface_lib_common.c",
62      "adm_adapter/src/audio_interface_lib_render.c",
63    ]
64
65    include_dirs = [
66      "//drivers/peripheral/audio/hal/hdi_passthrough/include",
67      "//drivers/peripheral/audio/supportlibs/adm_adapter/include",
68      "//drivers/peripheral/audio/supportlibs/interfaces/include",
69      "//drivers/peripheral/audio/interfaces/include",
70      "//third_party/bounds_checking_function/include",
71      "//base/hiviewdfx/hilog_lite/interfaces/native/kits/",
72      "//device/hisilicon/hispark_taurus/sdk_linux/huawei_proprietary/include",
73    ]
74
75    deps = [
76      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
77      "//third_party/bounds_checking_function:libsec_shared",
78    ]
79    external_deps = [ "hdf_core:libhdf_utils" ]
80    defines = [ "_GNU_SOURCE" ]
81    if (enable_audio_hal_hdf_log) {
82      defines += [ "AUDIO_HDF_LOG" ]
83    }
84    public_configs = [ ":audio_interface_config" ]
85    subsystem_name = "hdf"
86    part_name = "drivers_peripheral_audio"
87  }
88} else {
89  ohos_shared_library("hdi_audio_interface_lib_capture") {
90    sources =
91        [ "//drivers/peripheral/audio/hal/hdi_passthrough/src/audio_common.c" ]
92    if (drivers_peripheral_audio_alsa_lib) {
93      sources += [
94        "//drivers/peripheral/audio/supportlibs/alsa_adapter/src/alsa_lib_capture.c",
95        "//drivers/peripheral/audio/supportlibs/alsa_adapter/src/alsa_lib_common.c",
96        "//third_party/cJSON/cJSON.c",
97      ]
98    } else {
99      sources += [
100        "//drivers/peripheral/audio/supportlibs/adm_adapter/src/audio_interface_lib_capture.c",
101        "//drivers/peripheral/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c",
102      ]
103    }
104    include_dirs = [
105      "//drivers/peripheral/audio/hal/hdi_passthrough/include",
106      "//drivers/peripheral/audio/interfaces/include",
107      "//drivers/peripheral/audio/supportlibs/interfaces/include",
108      "//third_party/bounds_checking_function/include",
109      "//device/hisilicon/hispark_taurus/sdk_linux/huawei_proprietary/include",
110    ]
111
112    deps = []
113
114    if (enable_audio_hal_hdf_log) {
115      defines = [ "AUDIO_HDF_LOG" ]
116    }
117
118    if (drivers_peripheral_audio_alsa_lib) {
119      include_dirs += [
120        "//third_party/alsa-lib/include",
121        "//drivers/peripheral/audio/supportlibs/alsa_adapter/include",
122        "//third_party/cJSON",
123      ]
124      deps += [ "//third_party/alsa-lib:libasound" ]
125    } else {
126      include_dirs +=
127          [ "//drivers/peripheral/audio/supportlibs/adm_adapter/include" ]
128    }
129    if (is_standard_system) {
130      external_deps = [
131        "c_utils:utils",
132        "hdf_core:libhdf_utils",
133        "hiviewdfx_hilog_native:libhilog",
134      ]
135    } else {
136      external_deps = [ "hilog:libhilog" ]
137    }
138
139    public_configs = [ ":audio_interface_config" ]
140
141    install_images = [ chipset_base_dir ]
142    subsystem_name = "hdf"
143    part_name = "drivers_peripheral_audio"
144  }
145
146  ohos_shared_library("hdi_audio_interface_lib_render") {
147    sources =
148        [ "//drivers/peripheral/audio/hal/hdi_passthrough/src/audio_common.c" ]
149    if (drivers_peripheral_audio_alsa_lib) {
150      sources += [
151        "//drivers/peripheral/audio/supportlibs/alsa_adapter/src/alsa_lib_common.c",
152        "//drivers/peripheral/audio/supportlibs/alsa_adapter/src/alsa_lib_render.c",
153        "//third_party/cJSON/cJSON.c",
154      ]
155    } else {
156      sources += [
157        "//drivers/peripheral/audio/supportlibs/adm_adapter/src/audio_interface_lib_common.c",
158        "//drivers/peripheral/audio/supportlibs/adm_adapter/src/audio_interface_lib_render.c",
159      ]
160    }
161
162    include_dirs = [
163      "//drivers/peripheral/audio/hal/hdi_passthrough/include",
164      "//drivers/peripheral/audio/interfaces/include",
165      "//drivers/peripheral/audio/supportlibs/interfaces/include",
166      "//third_party/bounds_checking_function/include",
167      "//device/hisilicon/hispark_taurus/sdk_linux/huawei_proprietary/include",
168    ]
169
170    deps = []
171
172    if (enable_audio_hal_hdf_log) {
173      defines = [ "AUDIO_HDF_LOG" ]
174    }
175
176    if (drivers_peripheral_audio_alsa_lib) {
177      include_dirs += [
178        "//drivers/peripheral/audio/supportlibs/alsa_adapter/include",
179        "//third_party/alsa-lib/include",
180        "//third_party/cJSON",
181      ]
182      deps += [ "//third_party/alsa-lib:libasound" ]
183    } else {
184      include_dirs +=
185          [ "//drivers/peripheral/audio/supportlibs/adm_adapter/include" ]
186    }
187    if (is_standard_system) {
188      external_deps = [
189        "c_utils:utils",
190        "hdf_core:libhdf_utils",
191        "hiviewdfx_hilog_native:libhilog",
192      ]
193    } else {
194      external_deps = [ "hilog:libhilog" ]
195    }
196
197    public_configs = [ ":audio_interface_config" ]
198
199    install_images = [ chipset_base_dir ]
200    subsystem_name = "hdf"
201    part_name = "drivers_peripheral_audio"
202  }
203}
204