153a5a1b3Sopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
253a5a1b3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
353a5a1b3Sopenharmony_ci# you may not use this file except in compliance with the License.
453a5a1b3Sopenharmony_ci# You may obtain a copy of the License at
553a5a1b3Sopenharmony_ci#
653a5a1b3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
753a5a1b3Sopenharmony_ci#
853a5a1b3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
953a5a1b3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1053a5a1b3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1153a5a1b3Sopenharmony_ci# See the License for the specific language governing permissions and
1253a5a1b3Sopenharmony_ci# limitations under the License.
1353a5a1b3Sopenharmony_ci
1453a5a1b3Sopenharmony_ciimport("//build/ohos.gni")
1553a5a1b3Sopenharmony_ci
1653a5a1b3Sopenharmony_ciconfig("pulsecommon_config") {
1753a5a1b3Sopenharmony_ci  visibility = [ ":*" ]
1853a5a1b3Sopenharmony_ci
1953a5a1b3Sopenharmony_ci  include_dirs = [
2053a5a1b3Sopenharmony_ci    "../../src",
2153a5a1b3Sopenharmony_ci    "../../include",
2253a5a1b3Sopenharmony_ci    "../../",
2353a5a1b3Sopenharmony_ci    "../src",
2453a5a1b3Sopenharmony_ci    "../include",
2553a5a1b3Sopenharmony_ci    "../../src/pulse",
2653a5a1b3Sopenharmony_ci  ]
2753a5a1b3Sopenharmony_ci
2853a5a1b3Sopenharmony_ci  cflags = [
2953a5a1b3Sopenharmony_ci    "-Wall",
3053a5a1b3Sopenharmony_ci    "-Werror",
3153a5a1b3Sopenharmony_ci    "-Wno-implicit-function-declaration",
3253a5a1b3Sopenharmony_ci    "-Wno-unused-function",
3353a5a1b3Sopenharmony_ci    "-Wno-unused-but-set-variable",
3453a5a1b3Sopenharmony_ci    "-DHAVE_CONFIG_H",
3553a5a1b3Sopenharmony_ci    "-D_GNU_SOURCE",
3653a5a1b3Sopenharmony_ci    "-DHAVE_EXECINFO_H",
3753a5a1b3Sopenharmony_ci  ]
3853a5a1b3Sopenharmony_ci}
3953a5a1b3Sopenharmony_ci
4053a5a1b3Sopenharmony_ciohos_source_set("pulsecommon_sources") {
4153a5a1b3Sopenharmony_ci  sources = [
4253a5a1b3Sopenharmony_ci    "../../src/pulse/channelmap.c",
4353a5a1b3Sopenharmony_ci    "../../src/pulse/client-conf.c",
4453a5a1b3Sopenharmony_ci    "../../src/pulse/error.c",
4553a5a1b3Sopenharmony_ci    "../../src/pulse/fork-detect.c",
4653a5a1b3Sopenharmony_ci    "../../src/pulse/format.c",
4753a5a1b3Sopenharmony_ci    "../../src/pulse/mainloop-api.c",
4853a5a1b3Sopenharmony_ci    "../../src/pulse/ohos_pa_volume.c",
4953a5a1b3Sopenharmony_ci    "../../src/pulse/proplist.c",
5053a5a1b3Sopenharmony_ci    "../../src/pulse/rtclock.c",
5153a5a1b3Sopenharmony_ci    "../../src/pulse/sample.c",
5253a5a1b3Sopenharmony_ci    "../../src/pulse/timeval.c",
5353a5a1b3Sopenharmony_ci    "../../src/pulse/utf8.c",
5453a5a1b3Sopenharmony_ci    "../../src/pulse/util.c",
5553a5a1b3Sopenharmony_ci    "../../src/pulse/xmalloc.c",
5653a5a1b3Sopenharmony_ci    "../../src/pulsecore/arpa-inet.c",
5753a5a1b3Sopenharmony_ci    "../../src/pulsecore/aupdate.c",
5853a5a1b3Sopenharmony_ci    "../../src/pulsecore/authkey.c",
5953a5a1b3Sopenharmony_ci    "../../src/pulsecore/bitset.c",
6053a5a1b3Sopenharmony_ci    "../../src/pulsecore/conf-parser.c",
6153a5a1b3Sopenharmony_ci    "../../src/pulsecore/core-error.c",
6253a5a1b3Sopenharmony_ci    "../../src/pulsecore/core-format.c",
6353a5a1b3Sopenharmony_ci    "../../src/pulsecore/core-rtclock.c",
6453a5a1b3Sopenharmony_ci    "../../src/pulsecore/core-util.c",
6553a5a1b3Sopenharmony_ci    "../../src/pulsecore/dynarray.c",
6653a5a1b3Sopenharmony_ci    "../../src/pulsecore/fdsem.c",
6753a5a1b3Sopenharmony_ci    "../../src/pulsecore/flist.c",
6853a5a1b3Sopenharmony_ci    "../../src/pulsecore/g711.c",
6953a5a1b3Sopenharmony_ci    "../../src/pulsecore/hashmap.c",
7053a5a1b3Sopenharmony_ci    "../../src/pulsecore/i18n.c",
7153a5a1b3Sopenharmony_ci    "../../src/pulsecore/idxset.c",
7253a5a1b3Sopenharmony_ci    "../../src/pulsecore/iochannel.c",
7353a5a1b3Sopenharmony_ci    "../../src/pulsecore/ioline.c",
7453a5a1b3Sopenharmony_ci    "../../src/pulsecore/ipacl.c",
7553a5a1b3Sopenharmony_ci    "../../src/pulsecore/json.c",
7653a5a1b3Sopenharmony_ci    "../../src/pulsecore/lock-autospawn.c",
7753a5a1b3Sopenharmony_ci    "../../src/pulsecore/log.c",
7853a5a1b3Sopenharmony_ci    "../../src/pulsecore/mcalign.c",
7953a5a1b3Sopenharmony_ci    "../../src/pulsecore/memblock.c",
8053a5a1b3Sopenharmony_ci    "../../src/pulsecore/memblockq.c",
8153a5a1b3Sopenharmony_ci    "../../src/pulsecore/memchunk.c",
8253a5a1b3Sopenharmony_ci    "../../src/pulsecore/memtrap.c",
8353a5a1b3Sopenharmony_ci    "../../src/pulsecore/mutex-posix.c",
8453a5a1b3Sopenharmony_ci    "../../src/pulsecore/native-common.c",
8553a5a1b3Sopenharmony_ci    "../../src/pulsecore/ohos_socket-server.c",
8653a5a1b3Sopenharmony_ci    "../../src/pulsecore/once.c",
8753a5a1b3Sopenharmony_ci    "../../src/pulsecore/packet.c",
8853a5a1b3Sopenharmony_ci    "../../src/pulsecore/parseaddr.c",
8953a5a1b3Sopenharmony_ci    "../../src/pulsecore/pdispatch.c",
9053a5a1b3Sopenharmony_ci    "../../src/pulsecore/pid.c",
9153a5a1b3Sopenharmony_ci    "../../src/pulsecore/pipe.c",
9253a5a1b3Sopenharmony_ci    "../../src/pulsecore/proplist-util.c",
9353a5a1b3Sopenharmony_ci    "../../src/pulsecore/pstream-util.c",
9453a5a1b3Sopenharmony_ci    "../../src/pulsecore/pstream.c",
9553a5a1b3Sopenharmony_ci    "../../src/pulsecore/queue.c",
9653a5a1b3Sopenharmony_ci    "../../src/pulsecore/random.c",
9753a5a1b3Sopenharmony_ci    "../../src/pulsecore/ratelimit.c",
9853a5a1b3Sopenharmony_ci    "../../src/pulsecore/sample-util.c",
9953a5a1b3Sopenharmony_ci    "../../src/pulsecore/semaphore-posix.c",
10053a5a1b3Sopenharmony_ci    "../../src/pulsecore/shm.c",
10153a5a1b3Sopenharmony_ci    "../../src/pulsecore/socket-client.c",
10253a5a1b3Sopenharmony_ci    "../../src/pulsecore/socket-util.c",
10353a5a1b3Sopenharmony_ci    "../../src/pulsecore/srbchannel.c",
10453a5a1b3Sopenharmony_ci    "../../src/pulsecore/strbuf.c",
10553a5a1b3Sopenharmony_ci    "../../src/pulsecore/strlist.c",
10653a5a1b3Sopenharmony_ci    "../../src/pulsecore/tagstruct.c",
10753a5a1b3Sopenharmony_ci    "../../src/pulsecore/thread-posix.c",
10853a5a1b3Sopenharmony_ci    "../../src/pulsecore/time-smoother.c",
10953a5a1b3Sopenharmony_ci    "../../src/pulsecore/tokenizer.c",
11053a5a1b3Sopenharmony_ci    "../../src/pulsecore/usergroup.c",
11153a5a1b3Sopenharmony_ci  ]
11253a5a1b3Sopenharmony_ci
11353a5a1b3Sopenharmony_ci  configs = [ ":pulsecommon_config" ]
11453a5a1b3Sopenharmony_ci
11553a5a1b3Sopenharmony_ci  external_deps = [
11653a5a1b3Sopenharmony_ci    "hilog:libhilog",
11753a5a1b3Sopenharmony_ci    "init:libbegetutil",
11853a5a1b3Sopenharmony_ci  ]
11953a5a1b3Sopenharmony_ci
12053a5a1b3Sopenharmony_ci  defines = []
12153a5a1b3Sopenharmony_ci  if (defined(global_parts_info) &&
12253a5a1b3Sopenharmony_ci      defined(global_parts_info.hiviewdfx_hitrace)) {
12353a5a1b3Sopenharmony_ci    defines += [ "FEATURE_HITRACE_METER" ]
12453a5a1b3Sopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
12553a5a1b3Sopenharmony_ci  }
12653a5a1b3Sopenharmony_ci
12753a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
12853a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
12953a5a1b3Sopenharmony_ci}
13053a5a1b3Sopenharmony_ci
13153a5a1b3Sopenharmony_ciohos_shared_library("pulsecommon") {
13253a5a1b3Sopenharmony_ci  branch_protector_ret = "pac_ret"
13353a5a1b3Sopenharmony_ci  deps = [ ":pulsecommon_sources" ]
13453a5a1b3Sopenharmony_ci
13553a5a1b3Sopenharmony_ci  external_deps = [
13653a5a1b3Sopenharmony_ci    "hilog:libhilog",
13753a5a1b3Sopenharmony_ci    "init:libbegetutil",
13853a5a1b3Sopenharmony_ci  ]
13953a5a1b3Sopenharmony_ci
14053a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
14153a5a1b3Sopenharmony_ci  innerapi_tags = [
14253a5a1b3Sopenharmony_ci    "chipsetsdk_indirect",
14353a5a1b3Sopenharmony_ci    "platformsdk_indirect",
14453a5a1b3Sopenharmony_ci  ]
14553a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
14653a5a1b3Sopenharmony_ci}
14753a5a1b3Sopenharmony_ciohos_prebuilt_etc("pa_daemon_config") {
14853a5a1b3Sopenharmony_ci  source = "../../conf/daemon.conf"
14953a5a1b3Sopenharmony_ci
15053a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
15153a5a1b3Sopenharmony_ci  module_install_dir = "etc/pulse"
15253a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
15353a5a1b3Sopenharmony_ci}
15453a5a1b3Sopenharmony_ci
15553a5a1b3Sopenharmony_ciohos_prebuilt_etc("pa_default_config") {
15653a5a1b3Sopenharmony_ci  source = "../../conf/default.pa"
15753a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
15853a5a1b3Sopenharmony_ci  module_install_dir = "etc/pulse"
15953a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
16053a5a1b3Sopenharmony_ci}
16153a5a1b3Sopenharmony_ci
16253a5a1b3Sopenharmony_ciohos_prebuilt_etc("pa_client_config") {
16353a5a1b3Sopenharmony_ci  source = "../../conf/client.conf"
16453a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
16553a5a1b3Sopenharmony_ci  module_install_dir = "etc/pulse"
16653a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
16753a5a1b3Sopenharmony_ci}
168