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("pulse_config") {
1753a5a1b3Sopenharmony_ci  visibility = [ ":*" ]
1853a5a1b3Sopenharmony_ci
1953a5a1b3Sopenharmony_ci  include_dirs = [
2053a5a1b3Sopenharmony_ci    "../../../include",
2153a5a1b3Sopenharmony_ci    "../../../src/pulse",
2253a5a1b3Sopenharmony_ci    "../../../src",
2353a5a1b3Sopenharmony_ci    "../../../",
2453a5a1b3Sopenharmony_ci    "../../src",
2553a5a1b3Sopenharmony_ci    "../../include",
2653a5a1b3Sopenharmony_ci  ]
2753a5a1b3Sopenharmony_ci
2853a5a1b3Sopenharmony_ci  cflags = [
2953a5a1b3Sopenharmony_ci    "-Wall",
3053a5a1b3Sopenharmony_ci    "-Werror",
3153a5a1b3Sopenharmony_ci    "-Wno-implicit-function-declaration",
3253a5a1b3Sopenharmony_ci    "-Wno-sign-compare",
3353a5a1b3Sopenharmony_ci    "-Wno-unused-function",
3453a5a1b3Sopenharmony_ci    "-DHAVE_CONFIG_H",
3553a5a1b3Sopenharmony_ci    "-D_GNU_SOURCE",
3653a5a1b3Sopenharmony_ci  ]
3753a5a1b3Sopenharmony_ci}
3853a5a1b3Sopenharmony_ci
3953a5a1b3Sopenharmony_ciconfig("pulse_include_config") {
4053a5a1b3Sopenharmony_ci  visibility = [ ":*" ]
4153a5a1b3Sopenharmony_ci  include_dirs = [
4253a5a1b3Sopenharmony_ci    "../../../include",
4353a5a1b3Sopenharmony_ci    "../../../src",
4453a5a1b3Sopenharmony_ci  ]
4553a5a1b3Sopenharmony_ci}
4653a5a1b3Sopenharmony_ci
4753a5a1b3Sopenharmony_ciohos_source_set("pulse_sources") {
4853a5a1b3Sopenharmony_ci  sources = [
4953a5a1b3Sopenharmony_ci    "../../../src/pulse/channelmap.c",
5053a5a1b3Sopenharmony_ci    "../../../src/pulse/context.c",
5153a5a1b3Sopenharmony_ci    "../../../src/pulse/direction.c",
5253a5a1b3Sopenharmony_ci    "../../../src/pulse/error.c",
5353a5a1b3Sopenharmony_ci    "../../../src/pulse/ext-device-manager.c",
5453a5a1b3Sopenharmony_ci    "../../../src/pulse/ext-device-restore.c",
5553a5a1b3Sopenharmony_ci    "../../../src/pulse/ext-stream-restore.c",
5653a5a1b3Sopenharmony_ci    "../../../src/pulse/format.c",
5753a5a1b3Sopenharmony_ci    "../../../src/pulse/internal.h",
5853a5a1b3Sopenharmony_ci    "../../../src/pulse/introspect.c",
5953a5a1b3Sopenharmony_ci    "../../../src/pulse/mainloop-api.c",
6053a5a1b3Sopenharmony_ci    "../../../src/pulse/mainloop-signal.c",
6153a5a1b3Sopenharmony_ci    "../../../src/pulse/mainloop.c",
6253a5a1b3Sopenharmony_ci    "../../../src/pulse/ohos_pa_volume.c",
6353a5a1b3Sopenharmony_ci    "../../../src/pulse/operation.c",
6453a5a1b3Sopenharmony_ci    "../../../src/pulse/proplist.c",
6553a5a1b3Sopenharmony_ci    "../../../src/pulse/rtclock.c",
6653a5a1b3Sopenharmony_ci    "../../../src/pulse/sample.c",
6753a5a1b3Sopenharmony_ci    "../../../src/pulse/scache.c",
6853a5a1b3Sopenharmony_ci    "../../../src/pulse/stream.c",
6953a5a1b3Sopenharmony_ci    "../../../src/pulse/subscribe.c",
7053a5a1b3Sopenharmony_ci    "../../../src/pulse/thread-mainloop.c",
7153a5a1b3Sopenharmony_ci    "../../../src/pulse/timeval.c",
7253a5a1b3Sopenharmony_ci    "../../../src/pulse/utf8.c",
7353a5a1b3Sopenharmony_ci    "../../../src/pulse/util.c",
7453a5a1b3Sopenharmony_ci    "../../../src/pulse/xmalloc.c",
7553a5a1b3Sopenharmony_ci  ]
7653a5a1b3Sopenharmony_ci
7753a5a1b3Sopenharmony_ci  configs = [ ":pulse_config" ]
7853a5a1b3Sopenharmony_ci
7953a5a1b3Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
8053a5a1b3Sopenharmony_ci
8153a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
8253a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
8353a5a1b3Sopenharmony_ci}
8453a5a1b3Sopenharmony_ci
8553a5a1b3Sopenharmony_ciohos_shared_library("pulse") {
8653a5a1b3Sopenharmony_ci  branch_protector_ret = "pac_ret"
8753a5a1b3Sopenharmony_ci  deps = [
8853a5a1b3Sopenharmony_ci    ":pulse_sources",
8953a5a1b3Sopenharmony_ci    "../../src:pulsecommon",
9053a5a1b3Sopenharmony_ci  ]
9153a5a1b3Sopenharmony_ci
9253a5a1b3Sopenharmony_ci  public_configs = [ ":pulse_include_config" ]
9353a5a1b3Sopenharmony_ci
9453a5a1b3Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
9553a5a1b3Sopenharmony_ci
9653a5a1b3Sopenharmony_ci  defines = []
9753a5a1b3Sopenharmony_ci
9853a5a1b3Sopenharmony_ci  if (build_variant == "user") {
9953a5a1b3Sopenharmony_ci    defines += [ "AUDIO_BUILD_VARIANT_USER" ]
10053a5a1b3Sopenharmony_ci  } else if (build_variant == "root") {
10153a5a1b3Sopenharmony_ci    defines += [ "AUDIO_BUILD_VARIANT_ROOT" ]
10253a5a1b3Sopenharmony_ci  }
10353a5a1b3Sopenharmony_ci
10453a5a1b3Sopenharmony_ci  if (defined(global_parts_info) &&
10553a5a1b3Sopenharmony_ci      defined(global_parts_info.hiviewdfx_hitrace)) {
10653a5a1b3Sopenharmony_ci    defines += [ "FEATURE_HITRACE_METER" ]
10753a5a1b3Sopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
10853a5a1b3Sopenharmony_ci  }
10953a5a1b3Sopenharmony_ci
11053a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
11153a5a1b3Sopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
11253a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
11353a5a1b3Sopenharmony_ci}
11453a5a1b3Sopenharmony_ci
11553a5a1b3Sopenharmony_ciohos_shared_library("pulse-simple") {
11653a5a1b3Sopenharmony_ci  sources = [ "../../../src/pulse/simple.c" ]
11753a5a1b3Sopenharmony_ci
11853a5a1b3Sopenharmony_ci  configs = [ ":pulse_config" ]
11953a5a1b3Sopenharmony_ci  external_deps = [ "hilog:libhilog" ]
12053a5a1b3Sopenharmony_ci  deps = [
12153a5a1b3Sopenharmony_ci    "../../src:pulsecommon",
12253a5a1b3Sopenharmony_ci    "../../src/pulse:pulse",
12353a5a1b3Sopenharmony_ci  ]
12453a5a1b3Sopenharmony_ci
12553a5a1b3Sopenharmony_ci  subsystem_name = "thirdparty"
12653a5a1b3Sopenharmony_ci  part_name = "pulseaudio"
12753a5a1b3Sopenharmony_ci}
128