# Copyright (c) 2021-2022 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") pulseaudio_dir = "//third_party/pulseaudio" pulseaudio_build_path = "//third_party/pulseaudio/ohosbuild" libsndfile_dir = "//third_party/libsnd" libsndfile_build_path = "//third_party/libsnd" config("pulsecommon_config") { visibility = [ ":*" ] include_dirs = [ "$pulseaudio_dir/src", "$pulseaudio_dir/include", "$pulseaudio_dir", "$pulseaudio_build_path/src", "$pulseaudio_build_path/include", "$libsndfile_dir/include", "$pulseaudio_dir/src/pulse", "//base/startup/init/interfaces/innerkits/include", ] cflags = [ "-Wall", "-Werror", "-Wno-implicit-function-declaration", "-Wno-unused-function", "-DHAVE_CONFIG_H", "-D_GNU_SOURCE", ] } ohos_source_set("pulsecommon_sources") { sources = [ "$pulseaudio_dir/src/pulse/channelmap.c", "$pulseaudio_dir/src/pulse/client-conf.c", "$pulseaudio_dir/src/pulse/error.c", "$pulseaudio_dir/src/pulse/fork-detect.c", "$pulseaudio_dir/src/pulse/format.c", "$pulseaudio_dir/src/pulse/json.c", "$pulseaudio_dir/src/pulse/mainloop-api.c", "$pulseaudio_dir/src/pulse/ohos_pa_volume.c", "$pulseaudio_dir/src/pulse/proplist.c", "$pulseaudio_dir/src/pulse/rtclock.c", "$pulseaudio_dir/src/pulse/sample.c", "$pulseaudio_dir/src/pulse/timeval.c", "$pulseaudio_dir/src/pulse/utf8.c", "$pulseaudio_dir/src/pulse/util.c", "$pulseaudio_dir/src/pulse/xmalloc.c", "$pulseaudio_dir/src/pulsecore/arpa-inet.c", "$pulseaudio_dir/src/pulsecore/aupdate.c", "$pulseaudio_dir/src/pulsecore/authkey.c", "$pulseaudio_dir/src/pulsecore/bitset.c", "$pulseaudio_dir/src/pulsecore/conf-parser.c", "$pulseaudio_dir/src/pulsecore/core-error.c", "$pulseaudio_dir/src/pulsecore/core-format.c", "$pulseaudio_dir/src/pulsecore/core-rtclock.c", "$pulseaudio_dir/src/pulsecore/core-util.c", "$pulseaudio_dir/src/pulsecore/dynarray.c", "$pulseaudio_dir/src/pulsecore/fdsem.c", "$pulseaudio_dir/src/pulsecore/flist.c", "$pulseaudio_dir/src/pulsecore/g711.c", "$pulseaudio_dir/src/pulsecore/hashmap.c", "$pulseaudio_dir/src/pulsecore/i18n.c", "$pulseaudio_dir/src/pulsecore/idxset.c", "$pulseaudio_dir/src/pulsecore/iochannel.c", "$pulseaudio_dir/src/pulsecore/ioline.c", "$pulseaudio_dir/src/pulsecore/ipacl.c", "$pulseaudio_dir/src/pulsecore/lock-autospawn.c", "$pulseaudio_dir/src/pulsecore/log.c", "$pulseaudio_dir/src/pulsecore/mcalign.c", "$pulseaudio_dir/src/pulsecore/memblock.c", "$pulseaudio_dir/src/pulsecore/memblockq.c", "$pulseaudio_dir/src/pulsecore/memchunk.c", "$pulseaudio_dir/src/pulsecore/memtrap.c", "$pulseaudio_dir/src/pulsecore/mutex-posix.c", "$pulseaudio_dir/src/pulsecore/native-common.c", "$pulseaudio_dir/src/pulsecore/ohos_socket-server.c", "$pulseaudio_dir/src/pulsecore/once.c", "$pulseaudio_dir/src/pulsecore/packet.c", "$pulseaudio_dir/src/pulsecore/parseaddr.c", "$pulseaudio_dir/src/pulsecore/pdispatch.c", "$pulseaudio_dir/src/pulsecore/pid.c", "$pulseaudio_dir/src/pulsecore/pipe.c", "$pulseaudio_dir/src/pulsecore/proplist-util.c", "$pulseaudio_dir/src/pulsecore/pstream-util.c", "$pulseaudio_dir/src/pulsecore/pstream.c", "$pulseaudio_dir/src/pulsecore/queue.c", "$pulseaudio_dir/src/pulsecore/random.c", "$pulseaudio_dir/src/pulsecore/ratelimit.c", "$pulseaudio_dir/src/pulsecore/sample-util.c", "$pulseaudio_dir/src/pulsecore/semaphore-posix.c", "$pulseaudio_dir/src/pulsecore/shm.c", "$pulseaudio_dir/src/pulsecore/sndfile-util.c", "$pulseaudio_dir/src/pulsecore/socket-client.c", "$pulseaudio_dir/src/pulsecore/socket-util.c", "$pulseaudio_dir/src/pulsecore/srbchannel.c", "$pulseaudio_dir/src/pulsecore/strbuf.c", "$pulseaudio_dir/src/pulsecore/strlist.c", "$pulseaudio_dir/src/pulsecore/tagstruct.c", "$pulseaudio_dir/src/pulsecore/thread-posix.c", "$pulseaudio_dir/src/pulsecore/time-smoother.c", "$pulseaudio_dir/src/pulsecore/tokenizer.c", "$pulseaudio_dir/src/pulsecore/usergroup.c", ] configs = [ ":pulsecommon_config" ] subsystem_name = "multimedia" part_name = "multimedia_audio_framework" } ohos_shared_library("pulsecommon") { deps = [ ":pulsecommon_sources", "$libsndfile_build_path:sndfile", ] external_deps = [ "init:libbegetutil" ] subsystem_name = "multimedia" part_name = "multimedia_audio_framework" } ohos_prebuilt_etc("pa_daemon_config") { source = "$pulseaudio_dir/conf/daemon.conf" subsystem_name = "multimedia" module_install_dir = "etc/pulse" part_name = "multimedia_audio_framework" } ohos_prebuilt_etc("pa_default_config") { source = "$pulseaudio_dir/conf/default.pa" subsystem_name = "multimedia" module_install_dir = "etc/pulse" part_name = "multimedia_audio_framework" } ohos_prebuilt_etc("pa_client_config") { source = "$pulseaudio_dir/conf/client.conf" subsystem_name = "multimedia" module_install_dir = "etc/pulse" part_name = "multimedia_audio_framework" }