1# Copyright (c) 2021-2022 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("//base/notification/distributed_notification_service/notification.gni")
15import("//build/ohos.gni")
16
17group("anm_target") {
18  deps = [ ":anm" ]
19}
20
21config("tools_dump_config") {
22  include_dirs = [ "${tools_path}/dump/include" ]
23}
24
25ohos_executable("anm") {
26  sanitize = {
27    integer_overflow = true
28    ubsan = true
29    boundary_sanitize = true
30    cfi = true
31    cfi_cross_dso = true
32    debug = false
33  }
34  branch_protector_ret = "pac_ret"
35
36  public_configs = [ ":tools_dump_config" ]
37
38  sources = [
39    "src/main.cpp",
40    "src/notification_shell_command.cpp",
41    "src/shell_command.cpp",
42  ]
43
44  cflags = []
45  if (target_cpu == "arm") {
46    cflags += [ "-DBINDER_IPC_32BIT" ]
47  }
48
49  deps = [ "${frameworks_module_ans_path}:ans_innerkits" ]
50
51  configs = [ "${frameworks_module_ans_path}:ans_innerkits_public_config" ]
52
53  defines = []
54  if (distributed_notification_supported) {
55    defines += [ "DISTRIBUTED_NOTIFICATION_SUPPORTED" ]
56  }
57
58  if (build_variant == "user") {
59    defines += [ "ANM_BUILD_VARIANT_USER" ]
60  }
61
62  external_deps = [
63    "access_token:libnativetoken_shared",
64    "access_token:libtokensetproc_shared",
65    "c_utils:utils",
66    "hilog:libhilog",
67    "image_framework:image_native",
68    "relational_store:native_rdb",
69  ]
70  external_deps += component_external_deps
71
72  install_enable = true
73  part_name = "${component_name}"
74  subsystem_name = "${subsystem_name}"
75}
76