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 16pulseaudio_dir = "//third_party/pulseaudio" 17pulseaudio_build_path = "//third_party/pulseaudio/ohosbuild" 18 19config("pulse_config") { 20 visibility = [ ":*" ] 21 22 include_dirs = [ 23 "$pulseaudio_dir/include", 24 "$pulseaudio_dir/src/pulse", 25 "$pulseaudio_dir/src", 26 "$pulseaudio_dir", 27 "$pulseaudio_build_path/src", 28 "$pulseaudio_build_path/include", 29 "//third_party/glib/glib", 30 "//third_party/glib", 31 ] 32 33 cflags = [ 34 "-Wall", 35 "-Werror", 36 "-Wno-implicit-function-declaration", 37 "-Wno-sign-compare", 38 "-Wno-unused-function", 39 "-DHAVE_CONFIG_H", 40 "-D_GNU_SOURCE", 41 ] 42} 43 44ohos_source_set("pulse_sources") { 45 sources = [ 46 "$pulseaudio_dir/src/pulse/channelmap.c", 47 "$pulseaudio_dir/src/pulse/context.c", 48 "$pulseaudio_dir/src/pulse/direction.c", 49 "$pulseaudio_dir/src/pulse/error.c", 50 "$pulseaudio_dir/src/pulse/ext-device-manager.c", 51 "$pulseaudio_dir/src/pulse/ext-device-restore.c", 52 "$pulseaudio_dir/src/pulse/ext-stream-restore.c", 53 "$pulseaudio_dir/src/pulse/format.c", 54 "$pulseaudio_dir/src/pulse/internal.h", 55 "$pulseaudio_dir/src/pulse/introspect.c", 56 "$pulseaudio_dir/src/pulse/mainloop-api.c", 57 "$pulseaudio_dir/src/pulse/mainloop-signal.c", 58 "$pulseaudio_dir/src/pulse/mainloop.c", 59 "$pulseaudio_dir/src/pulse/ohos_pa_volume.c", 60 "$pulseaudio_dir/src/pulse/operation.c", 61 "$pulseaudio_dir/src/pulse/proplist.c", 62 "$pulseaudio_dir/src/pulse/rtclock.c", 63 "$pulseaudio_dir/src/pulse/sample.c", 64 "$pulseaudio_dir/src/pulse/scache.c", 65 "$pulseaudio_dir/src/pulse/stream.c", 66 "$pulseaudio_dir/src/pulse/subscribe.c", 67 "$pulseaudio_dir/src/pulse/thread-mainloop.c", 68 "$pulseaudio_dir/src/pulse/timeval.c", 69 "$pulseaudio_dir/src/pulse/utf8.c", 70 "$pulseaudio_dir/src/pulse/util.c", 71 "$pulseaudio_dir/src/pulse/xmalloc.c", 72 ] 73 74 configs = [ ":pulse_config" ] 75 76 subsystem_name = "multimedia" 77 part_name = "multimedia_audio_framework" 78} 79 80ohos_shared_library("pulse") { 81 deps = [ 82 ":pulse_sources", 83 "$pulseaudio_build_path/src:pulsecommon", 84 ] 85 86 subsystem_name = "multimedia" 87 part_name = "multimedia_audio_framework" 88} 89 90ohos_shared_library("pulse-simple") { 91 sources = [ "$pulseaudio_dir/src/pulse/simple.c" ] 92 93 configs = [ ":pulse_config" ] 94 95 deps = [ 96 "$pulseaudio_build_path/src:pulsecommon", 97 "$pulseaudio_build_path/src/pulse:pulse", 98 ] 99 100 subsystem_name = "multimedia" 101 part_name = "multimedia_audio_framework" 102} 103 104ohos_shared_library("pulse-mainloop-glib") { 105 sources = [ "$pulseaudio_dir/src/pulse/ohos_glib-mainloop.c" ] 106 107 configs = [ ":pulse_config" ] 108 deps = [ 109 "$pulseaudio_build_path/src:pulsecommon", 110 "//third_party/glib:glib", 111 ] 112 113 subsystem_name = "multimedia" 114 part_name = "multimedia_audio_framework" 115} 116