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 
14 import("../../time.gni")
15 
16 ohos_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