1b815c7f3Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2b815c7f3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3b815c7f3Sopenharmony_ci# you may not use this file except in compliance with the License.
4b815c7f3Sopenharmony_ci# You may obtain a copy of the License at
5b815c7f3Sopenharmony_ci#
6b815c7f3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7b815c7f3Sopenharmony_ci#
8b815c7f3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9b815c7f3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10b815c7f3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11b815c7f3Sopenharmony_ci# See the License for the specific language governing permissions and
12b815c7f3Sopenharmony_ci# limitations under the License.
13b815c7f3Sopenharmony_ci
14b815c7f3Sopenharmony_ciimport("//build/ohos.gni")
15b815c7f3Sopenharmony_ci
16b815c7f3Sopenharmony_ciconfig("sndfile_config") {
17b815c7f3Sopenharmony_ci  visibility = [ ":*" ]
18b815c7f3Sopenharmony_ci
19b815c7f3Sopenharmony_ci  include_dirs = [
20b815c7f3Sopenharmony_ci    "src",
21b815c7f3Sopenharmony_ci    "include",
22b815c7f3Sopenharmony_ci    "src/GSM610",
23b815c7f3Sopenharmony_ci    "src/G72x",
24b815c7f3Sopenharmony_ci    "src/ALAC",
25b815c7f3Sopenharmony_ci  ]
26b815c7f3Sopenharmony_ci
27b815c7f3Sopenharmony_ci  cflags = [
28b815c7f3Sopenharmony_ci    "-Wall",
29b815c7f3Sopenharmony_ci    "-Werror",
30b815c7f3Sopenharmony_ci    "-Wno-unused-but-set-variable",
31b815c7f3Sopenharmony_ci  ]
32b815c7f3Sopenharmony_ci}
33b815c7f3Sopenharmony_ci
34b815c7f3Sopenharmony_ciconfig("export_include_config") {
35b815c7f3Sopenharmony_ci  include_dirs = [ "include" ]
36b815c7f3Sopenharmony_ci}
37b815c7f3Sopenharmony_ci
38b815c7f3Sopenharmony_ciohos_source_set("sndfile_sources") {
39b815c7f3Sopenharmony_ci  sources = [
40b815c7f3Sopenharmony_ci    "src/ALAC/ALACBitUtilities.c",
41b815c7f3Sopenharmony_ci    "src/ALAC/ag_dec.c",
42b815c7f3Sopenharmony_ci    "src/ALAC/ag_enc.c",
43b815c7f3Sopenharmony_ci    "src/ALAC/alac_decoder.c",
44b815c7f3Sopenharmony_ci    "src/ALAC/alac_encoder.c",
45b815c7f3Sopenharmony_ci    "src/ALAC/dp_dec.c",
46b815c7f3Sopenharmony_ci    "src/ALAC/dp_enc.c",
47b815c7f3Sopenharmony_ci    "src/ALAC/matrix_dec.c",
48b815c7f3Sopenharmony_ci    "src/ALAC/matrix_enc.c",
49b815c7f3Sopenharmony_ci    "src/G72x/g721.c",
50b815c7f3Sopenharmony_ci    "src/G72x/g723_16.c",
51b815c7f3Sopenharmony_ci    "src/G72x/g723_24.c",
52b815c7f3Sopenharmony_ci    "src/G72x/g723_40.c",
53b815c7f3Sopenharmony_ci    "src/G72x/g72x.c",
54b815c7f3Sopenharmony_ci    "src/GSM610/add.c",
55b815c7f3Sopenharmony_ci    "src/GSM610/code.c",
56b815c7f3Sopenharmony_ci    "src/GSM610/decode.c",
57b815c7f3Sopenharmony_ci    "src/GSM610/gsm_create.c",
58b815c7f3Sopenharmony_ci    "src/GSM610/gsm_decode.c",
59b815c7f3Sopenharmony_ci    "src/GSM610/gsm_destroy.c",
60b815c7f3Sopenharmony_ci    "src/GSM610/gsm_encode.c",
61b815c7f3Sopenharmony_ci    "src/GSM610/gsm_option.c",
62b815c7f3Sopenharmony_ci    "src/GSM610/long_term.c",
63b815c7f3Sopenharmony_ci    "src/GSM610/lpc.c",
64b815c7f3Sopenharmony_ci    "src/GSM610/preprocess.c",
65b815c7f3Sopenharmony_ci    "src/GSM610/rpe.c",
66b815c7f3Sopenharmony_ci    "src/GSM610/short_term.c",
67b815c7f3Sopenharmony_ci    "src/GSM610/table.c",
68b815c7f3Sopenharmony_ci    "src/aiff.c",
69b815c7f3Sopenharmony_ci    "src/alac.c",
70b815c7f3Sopenharmony_ci    "src/alaw.c",
71b815c7f3Sopenharmony_ci    "src/au.c",
72b815c7f3Sopenharmony_ci    "src/audio_detect.c",
73b815c7f3Sopenharmony_ci    "src/avr.c",
74b815c7f3Sopenharmony_ci    "src/broadcast.c",
75b815c7f3Sopenharmony_ci    "src/caf.c",
76b815c7f3Sopenharmony_ci    "src/cart.c",
77b815c7f3Sopenharmony_ci    "src/chanmap.c",
78b815c7f3Sopenharmony_ci    "src/chunk.c",
79b815c7f3Sopenharmony_ci    "src/command.c",
80b815c7f3Sopenharmony_ci    "src/common.c",
81b815c7f3Sopenharmony_ci    "src/dither.c",
82b815c7f3Sopenharmony_ci    "src/double64.c",
83b815c7f3Sopenharmony_ci    "src/dwd.c",
84b815c7f3Sopenharmony_ci    "src/dwvw.c",
85b815c7f3Sopenharmony_ci    "src/file_io.c",
86b815c7f3Sopenharmony_ci    "src/flac.c",
87b815c7f3Sopenharmony_ci    "src/float32.c",
88b815c7f3Sopenharmony_ci    "src/g72x.c",
89b815c7f3Sopenharmony_ci    "src/gsm610.c",
90b815c7f3Sopenharmony_ci    "src/htk.c",
91b815c7f3Sopenharmony_ci    "src/id3.c",
92b815c7f3Sopenharmony_ci    "src/ima_adpcm.c",
93b815c7f3Sopenharmony_ci    "src/ima_oki_adpcm.c",
94b815c7f3Sopenharmony_ci    "src/interleave.c",
95b815c7f3Sopenharmony_ci    "src/ircam.c",
96b815c7f3Sopenharmony_ci    "src/macos.c",
97b815c7f3Sopenharmony_ci    "src/mat4.c",
98b815c7f3Sopenharmony_ci    "src/mat5.c",
99b815c7f3Sopenharmony_ci    "src/mpc2k.c",
100b815c7f3Sopenharmony_ci    "src/mpeg.c",
101b815c7f3Sopenharmony_ci    "src/ms_adpcm.c",
102b815c7f3Sopenharmony_ci    "src/nist.c",
103b815c7f3Sopenharmony_ci    "src/nms_adpcm.c",
104b815c7f3Sopenharmony_ci    "src/ogg.c",
105b815c7f3Sopenharmony_ci    "src/ogg_opus.c",
106b815c7f3Sopenharmony_ci    "src/ogg_pcm.c",
107b815c7f3Sopenharmony_ci    "src/ogg_speex.c",
108b815c7f3Sopenharmony_ci    "src/ogg_vcomment.c",
109b815c7f3Sopenharmony_ci    "src/ogg_vorbis.c",
110b815c7f3Sopenharmony_ci    "src/paf.c",
111b815c7f3Sopenharmony_ci    "src/pcm.c",
112b815c7f3Sopenharmony_ci    "src/pvf.c",
113b815c7f3Sopenharmony_ci    "src/raw.c",
114b815c7f3Sopenharmony_ci    "src/rf64.c",
115b815c7f3Sopenharmony_ci    "src/rx2.c",
116b815c7f3Sopenharmony_ci    "src/sd2.c",
117b815c7f3Sopenharmony_ci    "src/sds.c",
118b815c7f3Sopenharmony_ci    "src/sndfile.c",
119b815c7f3Sopenharmony_ci    "src/strings.c",
120b815c7f3Sopenharmony_ci    "src/svx.c",
121b815c7f3Sopenharmony_ci    "src/txw.c",
122b815c7f3Sopenharmony_ci    "src/ulaw.c",
123b815c7f3Sopenharmony_ci    "src/voc.c",
124b815c7f3Sopenharmony_ci    "src/vox_adpcm.c",
125b815c7f3Sopenharmony_ci    "src/w64.c",
126b815c7f3Sopenharmony_ci    "src/wav.c",
127b815c7f3Sopenharmony_ci    "src/wavlike.c",
128b815c7f3Sopenharmony_ci    "src/wve.c",
129b815c7f3Sopenharmony_ci    "src/xi.c",
130b815c7f3Sopenharmony_ci  ]
131b815c7f3Sopenharmony_ci
132b815c7f3Sopenharmony_ci  configs = [ ":sndfile_config" ]
133b815c7f3Sopenharmony_ci  subsystem_name = "thirdparty"
134b815c7f3Sopenharmony_ci  part_name = "libsnd"
135b815c7f3Sopenharmony_ci}
136b815c7f3Sopenharmony_ci
137b815c7f3Sopenharmony_ciohos_shared_library("sndfile") {
138b815c7f3Sopenharmony_ci  deps = [ ":sndfile_sources" ]
139b815c7f3Sopenharmony_ci
140b815c7f3Sopenharmony_ci  public_configs = [ ":export_include_config" ]
141b815c7f3Sopenharmony_ci
142b815c7f3Sopenharmony_ci  innerapi_tags = [
143b815c7f3Sopenharmony_ci    "chipsetsdk_indirect",
144b815c7f3Sopenharmony_ci    "platformsdk_indirect",
145b815c7f3Sopenharmony_ci  ]
146b815c7f3Sopenharmony_ci  subsystem_name = "thirdparty"
147b815c7f3Sopenharmony_ci  part_name = "libsnd"
148b815c7f3Sopenharmony_ci}
149