180922886Sopenharmony_ci# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
280922886Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
380922886Sopenharmony_ci# you may not use this file except in compliance with the License.
480922886Sopenharmony_ci# You may obtain a copy of the License at
580922886Sopenharmony_ci#
680922886Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
780922886Sopenharmony_ci#
880922886Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
980922886Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
1080922886Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1180922886Sopenharmony_ci# See the License for the specific language governing permissions and
1280922886Sopenharmony_ci# limitations under the License.
1380922886Sopenharmony_ci
1480922886Sopenharmony_ciimport("//build/ohos.gni")
1580922886Sopenharmony_ciimport("../config.gni")
1680922886Sopenharmony_ci
1780922886Sopenharmony_ciopenssl_dir = "//third_party/openssl"
1880922886Sopenharmony_ciconfig("avsession_utils_config") {
1980922886Sopenharmony_ci  include_dirs = [ "include" ]
2080922886Sopenharmony_ci}
2180922886Sopenharmony_ci
2280922886Sopenharmony_ciohos_shared_library("avsession_utils") {
2380922886Sopenharmony_ci  install_enable = true
2480922886Sopenharmony_ci  sanitize = {
2580922886Sopenharmony_ci    cfi = true
2680922886Sopenharmony_ci    cfi_cross_dso = true
2780922886Sopenharmony_ci    debug = false
2880922886Sopenharmony_ci  }
2980922886Sopenharmony_ci  sources = [
3080922886Sopenharmony_ci    "src/avsession_dynamic_loader.cpp",
3180922886Sopenharmony_ci    "src/avsession_event_handler.cpp",
3280922886Sopenharmony_ci    "src/avsession_radar.cpp",
3380922886Sopenharmony_ci    "src/avsession_sysevent.cpp",
3480922886Sopenharmony_ci    "src/hash_calculator.cpp",
3580922886Sopenharmony_ci    "src/permission_checker.cpp",
3680922886Sopenharmony_ci  ]
3780922886Sopenharmony_ci
3880922886Sopenharmony_ci  include_dirs = [
3980922886Sopenharmony_ci    "./../interfaces/inner_api/native/session/include",
4080922886Sopenharmony_ci    "$openssl_dir/include/",
4180922886Sopenharmony_ci  ]
4280922886Sopenharmony_ci
4380922886Sopenharmony_ci  public_configs = [ ":avsession_utils_config" ]
4480922886Sopenharmony_ci
4580922886Sopenharmony_ci  deps = [ "//third_party/openssl:libcrypto_shared" ]
4680922886Sopenharmony_ci
4780922886Sopenharmony_ci  external_deps = [
4880922886Sopenharmony_ci    "access_token:libaccesstoken_sdk",
4980922886Sopenharmony_ci    "access_token:libtokenid_sdk",
5080922886Sopenharmony_ci    "access_token:libtokensetproc_shared",
5180922886Sopenharmony_ci    "bundle_framework:appexecfwk_base",
5280922886Sopenharmony_ci    "bundle_framework:appexecfwk_core",
5380922886Sopenharmony_ci    "c_utils:utils",
5480922886Sopenharmony_ci    "device_manager:devicemanagersdk",
5580922886Sopenharmony_ci    "eventhandler:libeventhandler",
5680922886Sopenharmony_ci    "hilog:libhilog",
5780922886Sopenharmony_ci    "ipc:ipc_single",
5880922886Sopenharmony_ci    "samgr:samgr_proxy",
5980922886Sopenharmony_ci  ]
6080922886Sopenharmony_ci
6180922886Sopenharmony_ci  cflags = []
6280922886Sopenharmony_ci
6380922886Sopenharmony_ci  if (multimedia_av_session_enable_trace_control) {
6480922886Sopenharmony_ci    cflags += [ "-DENBABLE_AVSESSION_TRACE_CONTROL" ]
6580922886Sopenharmony_ci    external_deps += [ "hitrace:hitrace_meter" ]
6680922886Sopenharmony_ci  }
6780922886Sopenharmony_ci  if (multimedia_av_session_enable_sysevent_control) {
6880922886Sopenharmony_ci    cflags += [ "-DENABLE_AVSESSION_SYSEVENT_CONTROL" ]
6980922886Sopenharmony_ci    external_deps += [ "hisysevent:libhisysevent" ]
7080922886Sopenharmony_ci  }
7180922886Sopenharmony_ci
7280922886Sopenharmony_ci  subsystem_name = "multimedia"
7380922886Sopenharmony_ci  innerapi_tags = [ "platformsdk" ]
7480922886Sopenharmony_ci  part_name = "av_session"
7580922886Sopenharmony_ci  defines = [ "OPENSSL_SUPPRESS_DEPRECATED" ]
7680922886Sopenharmony_ci  if (use_libfuzzer || use_clang_coverage) {
7780922886Sopenharmony_ci    defines += [ "TEST_COVERAGE" ]
7880922886Sopenharmony_ci  }
7980922886Sopenharmony_ci}
80