1c7afe287Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2c7afe287Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3c7afe287Sopenharmony_ci# you may not use this file except in compliance with the License.
4c7afe287Sopenharmony_ci# You may obtain a copy of the License at
5c7afe287Sopenharmony_ci#
6c7afe287Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7c7afe287Sopenharmony_ci#
8c7afe287Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9c7afe287Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10c7afe287Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11c7afe287Sopenharmony_ci# See the License for the specific language governing permissions and
12c7afe287Sopenharmony_ci# limitations under the License.
13c7afe287Sopenharmony_ci
14c7afe287Sopenharmony_ciimport("//domains/advertising/oaid/oaid.gni")
15c7afe287Sopenharmony_ci
16c7afe287Sopenharmony_ciconfig("oaid_service_config") {
17c7afe287Sopenharmony_ci  visibility = [ ":*" ]
18c7afe287Sopenharmony_ci  include_dirs = [
19c7afe287Sopenharmony_ci    "${innerkits_path}/include",
20c7afe287Sopenharmony_ci    "../utils/native/include",
21c7afe287Sopenharmony_ci    "oaid_manager/include",
22c7afe287Sopenharmony_ci  ]
23c7afe287Sopenharmony_ci}
24c7afe287Sopenharmony_ci
25c7afe287Sopenharmony_ciohos_shared_library("oaid_service") {
26c7afe287Sopenharmony_ci  branch_protector_ret = "pac_ret"
27c7afe287Sopenharmony_ci  configs = [ "${oaid_utils_path}:utils_config" ]
28c7afe287Sopenharmony_ci
29c7afe287Sopenharmony_ci  public_configs = [ ":oaid_service_config" ]
30c7afe287Sopenharmony_ci
31c7afe287Sopenharmony_ci  sanitize = {
32c7afe287Sopenharmony_ci    cfi = true
33c7afe287Sopenharmony_ci    cfi_cross_dso = true
34c7afe287Sopenharmony_ci    debug = false
35c7afe287Sopenharmony_ci    boundary_sanitize = true
36c7afe287Sopenharmony_ci    integer_overflow = true
37c7afe287Sopenharmony_ci    ubsan = true
38c7afe287Sopenharmony_ci  }
39c7afe287Sopenharmony_ci
40c7afe287Sopenharmony_ci  sources = [
41c7afe287Sopenharmony_ci    "oaid_manager/src/bundle_mgr_helper.cpp",
42c7afe287Sopenharmony_ci    "oaid_manager/src/oaid_death_recipient.cpp",
43c7afe287Sopenharmony_ci    "oaid_manager/src/oaid_observer_manager.cpp",
44c7afe287Sopenharmony_ci    "oaid_manager/src/oaid_remote_config_observer_proxy.cpp",
45c7afe287Sopenharmony_ci    "oaid_manager/src/oaid_service.cpp",
46c7afe287Sopenharmony_ci    "oaid_manager/src/oaid_service_stub.cpp",
47c7afe287Sopenharmony_ci  ]
48c7afe287Sopenharmony_ci
49c7afe287Sopenharmony_ci  deps = [
50c7afe287Sopenharmony_ci    "${oaid_utils_path}:oaid_utils",
51c7afe287Sopenharmony_ci    "//third_party/openssl:libcrypto_shared",
52c7afe287Sopenharmony_ci  ]
53c7afe287Sopenharmony_ci
54c7afe287Sopenharmony_ci  external_deps = [
55c7afe287Sopenharmony_ci    "access_token:libaccesstoken_sdk",
56c7afe287Sopenharmony_ci    "access_token:libprivacy_sdk",
57c7afe287Sopenharmony_ci    "access_token:libtokenid_sdk",
58c7afe287Sopenharmony_ci    "bundle_framework:appexecfwk_base",
59c7afe287Sopenharmony_ci    "bundle_framework:appexecfwk_core",
60c7afe287Sopenharmony_ci    "cJSON:cjson",
61c7afe287Sopenharmony_ci    "config_policy:configpolicy_util",
62c7afe287Sopenharmony_ci    "eventhandler:libeventhandler",
63c7afe287Sopenharmony_ci    "hilog:libhilog",
64c7afe287Sopenharmony_ci    "ipc:ipc_single",
65c7afe287Sopenharmony_ci    "kv_store:distributeddata_inner",
66c7afe287Sopenharmony_ci    "safwk:system_ability_fwk",
67c7afe287Sopenharmony_ci    "samgr:samgr_proxy",
68c7afe287Sopenharmony_ci  ]
69c7afe287Sopenharmony_ci  part_name = "oaid"
70c7afe287Sopenharmony_ci  subsystem_name = "advertising"
71c7afe287Sopenharmony_ci}
72c7afe287Sopenharmony_ci
73c7afe287Sopenharmony_ciohos_prebuilt_etc("oaid_service_config_json") {
74c7afe287Sopenharmony_ci  source = "oaid_manager/resource/oaid_service_config.json"
75c7afe287Sopenharmony_ci  relative_install_dir = "advertising/oaid"
76c7afe287Sopenharmony_ci  part_name = "oaid"
77c7afe287Sopenharmony_ci  subsystem_name = "advertising"
78c7afe287Sopenharmony_ci}
79