1# Copyright (c) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("../time.gni")
15
16config("utils_config") {
17  include_dirs = [
18    "native/include",
19    "${time_service_path}",
20  ]
21  cflags = [ "-fvisibility=hidden" ]
22  cflags_cc = [ "-fvisibility-inlines-hidden" ]
23}
24
25ohos_source_set("time_utils") {
26  configs = [ ":utils_config" ]
27
28  sources = [
29    "${time_service_path}/time_permission.cpp",
30    "${time_utils_path}/native/src/time_common.cpp",
31    "${time_utils_path}/native/src/time_file_utils.cpp",
32    "${time_utils_path}/native/src/time_xcollie.cpp",
33  ]
34
35  deps = []
36
37  external_deps = [
38    "access_token:libaccesstoken_sdk",
39    "access_token:libtokenid_sdk",
40    "c_utils:utils",
41    "hilog:libhilog",
42    "init:libbegetutil",
43    "ipc:ipc_single",
44  ]
45  defines = []
46
47  if (time_hicollie_able) {
48    external_deps += [ "hicollie:libhicollie" ]
49    defines += [ "HICOLLIE_ENABLE" ]
50  }
51
52  branch_protector_ret = "pac_ret"
53  sanitize = {
54    integer_overflow = true
55    ubsan = true
56    boundary_sanitize = true
57    cfi = true
58    cfi_cross_dso = true
59    debug = time_sanitize_debug
60  }
61  part_name = "time_service"
62  subsystem_name = "time"
63}
64