1f857971dSopenharmony_ci# Copyright (c) 2022-2023 Huawei Device Co., Ltd.
2f857971dSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3f857971dSopenharmony_ci# you may not use this file except in compliance with the License.
4f857971dSopenharmony_ci# You may obtain a copy of the License at
5f857971dSopenharmony_ci#
6f857971dSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7f857971dSopenharmony_ci#
8f857971dSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9f857971dSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10f857971dSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11f857971dSopenharmony_ci# See the License for the specific language governing permissions and
12f857971dSopenharmony_ci# limitations under the License.
13f857971dSopenharmony_ci
14f857971dSopenharmony_ciimport("//build/ohos/ace/ace.gni")
15f857971dSopenharmony_ciimport("../../../device_status.gni")
16f857971dSopenharmony_ci
17f857971dSopenharmony_ciconfig("devicestatusnapi_private_config") {
18f857971dSopenharmony_ci  include_dirs = [
19f857971dSopenharmony_ci    "include",
20f857971dSopenharmony_ci    "${device_status_interfaces_path}/innerkits/include",
21f857971dSopenharmony_ci    "${device_status_service_path}/native/include",
22f857971dSopenharmony_ci  ]
23f857971dSopenharmony_ci}
24f857971dSopenharmony_ci
25f857971dSopenharmony_ciconfig("devicestatus_callback_config") {
26f857971dSopenharmony_ci  include_dirs = [ "include" ]
27f857971dSopenharmony_ci}
28f857971dSopenharmony_ci
29f857971dSopenharmony_ciohos_shared_library("stationary") {
30f857971dSopenharmony_ci  branch_protector_ret = "pac_ret"
31f857971dSopenharmony_ci  sanitize = {
32f857971dSopenharmony_ci    integer_overflow = true
33f857971dSopenharmony_ci    ubsan = true
34f857971dSopenharmony_ci    boundary_sanitize = true
35f857971dSopenharmony_ci    cfi = true
36f857971dSopenharmony_ci    cfi_cross_dso = true
37f857971dSopenharmony_ci    debug = false
38f857971dSopenharmony_ci  }
39f857971dSopenharmony_ci  sources = [
40f857971dSopenharmony_ci    "${device_status_frameworks_path}/js/napi/src/devicestatus_event.cpp",
41f857971dSopenharmony_ci    "${device_status_frameworks_path}/js/napi/src/devicestatus_napi.cpp",
42f857971dSopenharmony_ci    "${device_status_frameworks_path}/js/napi/src/devicestatus_napi_error.cpp",
43f857971dSopenharmony_ci  ]
44f857971dSopenharmony_ci
45f857971dSopenharmony_ci  configs = [
46f857971dSopenharmony_ci    "${device_status_utils_path}:devicestatus_utils_config",
47f857971dSopenharmony_ci    ":devicestatusnapi_private_config",
48f857971dSopenharmony_ci  ]
49f857971dSopenharmony_ci
50f857971dSopenharmony_ci  public_configs = [ ":devicestatus_callback_config" ]
51f857971dSopenharmony_ci
52f857971dSopenharmony_ci  deps = [ "../../../interfaces/innerkits:devicestatus_client" ]
53f857971dSopenharmony_ci
54f857971dSopenharmony_ci  external_deps = [
55f857971dSopenharmony_ci    "c_utils:utils",
56f857971dSopenharmony_ci    "hilog:libhilog",
57f857971dSopenharmony_ci    "image_framework:image_native",
58f857971dSopenharmony_ci    "ipc:ipc_single",
59f857971dSopenharmony_ci    "napi:ace_napi",
60f857971dSopenharmony_ci  ]
61f857971dSopenharmony_ci
62f857971dSopenharmony_ci  relative_install_dir = "module"
63f857971dSopenharmony_ci  subsystem_name = "${device_status_subsystem_name}"
64f857971dSopenharmony_ci  part_name = "${device_status_part_name}"
65f857971dSopenharmony_ci}
66