1# Copyright (c) 2021-2022 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") 15 16libsndfile_dir = "//third_party/libsnd" 17 18config("sndfile_config") { 19 visibility = [ ":*" ] 20 21 include_dirs = [ 22 "$libsndfile_dir/src", 23 "$libsndfile_dir/include", 24 "$libsndfile_dir/src/GSM610", 25 "$libsndfile_dir/src/G72x", 26 "$libsndfile_dir/src/ALAC", 27 ] 28 29 cflags = [ 30 "-Wall", 31 "-Werror", 32 ] 33} 34 35ohos_source_set("sndfile_sources") { 36 sources = [ 37 "$libsndfile_dir/src/ALAC/ALACBitUtilities.c", 38 "$libsndfile_dir/src/ALAC/ag_dec.c", 39 "$libsndfile_dir/src/ALAC/ag_enc.c", 40 "$libsndfile_dir/src/ALAC/alac_decoder.c", 41 "$libsndfile_dir/src/ALAC/alac_encoder.c", 42 "$libsndfile_dir/src/ALAC/dp_dec.c", 43 "$libsndfile_dir/src/ALAC/dp_enc.c", 44 "$libsndfile_dir/src/ALAC/matrix_dec.c", 45 "$libsndfile_dir/src/ALAC/matrix_enc.c", 46 "$libsndfile_dir/src/G72x/g721.c", 47 "$libsndfile_dir/src/G72x/g723_16.c", 48 "$libsndfile_dir/src/G72x/g723_24.c", 49 "$libsndfile_dir/src/G72x/g723_40.c", 50 "$libsndfile_dir/src/G72x/g72x.c", 51 "$libsndfile_dir/src/GSM610/add.c", 52 "$libsndfile_dir/src/GSM610/code.c", 53 "$libsndfile_dir/src/GSM610/decode.c", 54 "$libsndfile_dir/src/GSM610/gsm_create.c", 55 "$libsndfile_dir/src/GSM610/gsm_decode.c", 56 "$libsndfile_dir/src/GSM610/gsm_destroy.c", 57 "$libsndfile_dir/src/GSM610/gsm_encode.c", 58 "$libsndfile_dir/src/GSM610/gsm_option.c", 59 "$libsndfile_dir/src/GSM610/long_term.c", 60 "$libsndfile_dir/src/GSM610/lpc.c", 61 "$libsndfile_dir/src/GSM610/preprocess.c", 62 "$libsndfile_dir/src/GSM610/rpe.c", 63 "$libsndfile_dir/src/GSM610/short_term.c", 64 "$libsndfile_dir/src/GSM610/table.c", 65 "$libsndfile_dir/src/aiff.c", 66 "$libsndfile_dir/src/alac.c", 67 "$libsndfile_dir/src/alaw.c", 68 "$libsndfile_dir/src/au.c", 69 "$libsndfile_dir/src/audio_detect.c", 70 "$libsndfile_dir/src/avr.c", 71 "$libsndfile_dir/src/broadcast.c", 72 "$libsndfile_dir/src/caf.c", 73 "$libsndfile_dir/src/cart.c", 74 "$libsndfile_dir/src/chanmap.c", 75 "$libsndfile_dir/src/chunk.c", 76 "$libsndfile_dir/src/command.c", 77 "$libsndfile_dir/src/common.c", 78 "$libsndfile_dir/src/dither.c", 79 "$libsndfile_dir/src/double64.c", 80 "$libsndfile_dir/src/dwd.c", 81 "$libsndfile_dir/src/dwvw.c", 82 "$libsndfile_dir/src/file_io.c", 83 "$libsndfile_dir/src/flac.c", 84 "$libsndfile_dir/src/float32.c", 85 "$libsndfile_dir/src/g72x.c", 86 "$libsndfile_dir/src/gsm610.c", 87 "$libsndfile_dir/src/htk.c", 88 "$libsndfile_dir/src/id3.c", 89 "$libsndfile_dir/src/ima_adpcm.c", 90 "$libsndfile_dir/src/ima_oki_adpcm.c", 91 "$libsndfile_dir/src/interleave.c", 92 "$libsndfile_dir/src/ircam.c", 93 "$libsndfile_dir/src/macos.c", 94 "$libsndfile_dir/src/mat4.c", 95 "$libsndfile_dir/src/mat5.c", 96 "$libsndfile_dir/src/mpc2k.c", 97 "$libsndfile_dir/src/ms_adpcm.c", 98 "$libsndfile_dir/src/nist.c", 99 "$libsndfile_dir/src/nms_adpcm.c", 100 "$libsndfile_dir/src/ogg.c", 101 "$libsndfile_dir/src/ogg_opus.c", 102 "$libsndfile_dir/src/ogg_pcm.c", 103 "$libsndfile_dir/src/ogg_speex.c", 104 "$libsndfile_dir/src/ogg_vcomment.c", 105 "$libsndfile_dir/src/ogg_vorbis.c", 106 "$libsndfile_dir/src/paf.c", 107 "$libsndfile_dir/src/pcm.c", 108 "$libsndfile_dir/src/pvf.c", 109 "$libsndfile_dir/src/raw.c", 110 "$libsndfile_dir/src/rf64.c", 111 "$libsndfile_dir/src/rx2.c", 112 "$libsndfile_dir/src/sd2.c", 113 "$libsndfile_dir/src/sds.c", 114 "$libsndfile_dir/src/sndfile.c", 115 "$libsndfile_dir/src/strings.c", 116 "$libsndfile_dir/src/svx.c", 117 "$libsndfile_dir/src/txw.c", 118 "$libsndfile_dir/src/ulaw.c", 119 "$libsndfile_dir/src/voc.c", 120 "$libsndfile_dir/src/vox_adpcm.c", 121 "$libsndfile_dir/src/w64.c", 122 "$libsndfile_dir/src/wav.c", 123 "$libsndfile_dir/src/wavlike.c", 124 "$libsndfile_dir/src/wve.c", 125 "$libsndfile_dir/src/xi.c", 126 ] 127 128 configs = [ ":sndfile_config" ] 129 subsystem_name = "multimedia" 130 part_name = "multimedia_audio_framework" 131} 132 133ohos_shared_library("sndfile") { 134 deps = [ ":sndfile_sources" ] 135 136 subsystem_name = "multimedia" 137 part_name = "multimedia_audio_framework" 138} 139