1# Copyright (C) 2024 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
16ohos_shared_library("cj_system_date_time_ffi") {
17  defines = []
18  include_dirs = [
19    "include/",
20    "../../interfaces/inner_api/include",
21    "../../utils/native/include",
22  ]
23
24  if (!build_ohos_sdk) {
25    sources = [
26      "src/system_date_time.cpp",
27      "src/system_date_time_ffi.cpp",
28    ]
29    deps = [ "${api_path}:time_client" ]
30    external_deps = [
31      "ability_runtime:abilitykit_native",
32      "ability_runtime:wantagent_innerkits",
33      "c_utils:utils",
34      "hilog:libhilog",
35      "init:libbegetutil",
36      "napi:cj_bind_ffi",
37    ]
38  } else {
39    defines += [ "PREVIEWER" ]
40    sources = [ "src/system_date_mock.cpp" ]
41    external_deps = [ "napi:cj_bind_ffi" ]
42  }
43
44  branch_protector_ret = "pac_ret"
45  sanitize = {
46    integer_overflow = true
47    ubsan = true
48    boundary_sanitize = true
49    cfi = true
50    cfi_cross_dso = true
51    debug = time_sanitize_debug
52  }
53  innerapi_tags = [ "platformsdk" ]
54  subsystem_name = "time"
55  part_name = "time_service"
56}
57