1100ae2f9Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2100ae2f9Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3100ae2f9Sopenharmony_ci# you may not use this file except in compliance with the License.
4100ae2f9Sopenharmony_ci# You may obtain a copy of the License at
5100ae2f9Sopenharmony_ci#
6100ae2f9Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7100ae2f9Sopenharmony_ci#
8100ae2f9Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9100ae2f9Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10100ae2f9Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11100ae2f9Sopenharmony_ci# See the License for the specific language governing permissions and
12100ae2f9Sopenharmony_ci# limitations under the License.
13100ae2f9Sopenharmony_ci
14100ae2f9Sopenharmony_ciimport("//build/ohos.gni")
15100ae2f9Sopenharmony_ciimport("//build/ohos/ace/ace.gni")
16100ae2f9Sopenharmony_ciimport("../../eventhandler.gni")
17100ae2f9Sopenharmony_ciif (is_arkui_x) {
18100ae2f9Sopenharmony_ci  import("//plugins/events/eventhandler.gni")
19100ae2f9Sopenharmony_ci  ohos_source_set("emitter") {
20100ae2f9Sopenharmony_ci    include_dirs = [
21100ae2f9Sopenharmony_ci      "include",
22100ae2f9Sopenharmony_ci      "//third_party/node/src",
23100ae2f9Sopenharmony_ci      "//third_party/libuv/include",
24100ae2f9Sopenharmony_ci    ]
25100ae2f9Sopenharmony_ci    include_dirs += emitter_include
26100ae2f9Sopenharmony_ci    sources = [
27100ae2f9Sopenharmony_ci      "src/events_emitter.cpp",
28100ae2f9Sopenharmony_ci      "src/init.cpp",
29100ae2f9Sopenharmony_ci    ]
30100ae2f9Sopenharmony_ci  }
31100ae2f9Sopenharmony_ci} else {
32100ae2f9Sopenharmony_ci  ohos_shared_library("emitter") {
33100ae2f9Sopenharmony_ci    sanitize = {
34100ae2f9Sopenharmony_ci      integer_overflow = true
35100ae2f9Sopenharmony_ci      ubsan = true
36100ae2f9Sopenharmony_ci      boundary_sanitize = true
37100ae2f9Sopenharmony_ci      cfi = true
38100ae2f9Sopenharmony_ci      cfi_cross_dso = true
39100ae2f9Sopenharmony_ci      debug = false
40100ae2f9Sopenharmony_ci    }
41100ae2f9Sopenharmony_ci    branch_protector_ret = "pac_ret"
42100ae2f9Sopenharmony_ci
43100ae2f9Sopenharmony_ci    include_dirs = [
44100ae2f9Sopenharmony_ci      "include",
45100ae2f9Sopenharmony_ci      "${inner_api_path}",
46100ae2f9Sopenharmony_ci    ]
47100ae2f9Sopenharmony_ci
48100ae2f9Sopenharmony_ci    sources = [
49100ae2f9Sopenharmony_ci      "src/events_emitter.cpp",
50100ae2f9Sopenharmony_ci      "src/init.cpp",
51100ae2f9Sopenharmony_ci    ]
52100ae2f9Sopenharmony_ci
53100ae2f9Sopenharmony_ci    deps = [ "${frameworks_path}/eventhandler:libeventhandler" ]
54100ae2f9Sopenharmony_ci
55100ae2f9Sopenharmony_ci    external_deps = [
56100ae2f9Sopenharmony_ci      "c_utils:utils",
57100ae2f9Sopenharmony_ci      "hilog:libhilog",
58100ae2f9Sopenharmony_ci      "napi:ace_napi",
59100ae2f9Sopenharmony_ci    ]
60100ae2f9Sopenharmony_ci
61100ae2f9Sopenharmony_ci    relative_install_dir = "module/events"
62100ae2f9Sopenharmony_ci    subsystem_name = "notification"
63100ae2f9Sopenharmony_ci    part_name = "eventhandler"
64100ae2f9Sopenharmony_ci  }
65100ae2f9Sopenharmony_ci}
66