• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2023 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("//build/ohos.gni")
15
16rust_cxx("samgr_cxx_gen") {
17  sources = [ "src/wrapper.rs" ]
18}
19
20ohos_static_library("samgr_rust_cpp") {
21  sanitize = {
22    cfi = true
23    cfi_cross_dso = true
24    debug = false
25    cfi_no_nvcall = true
26    blocklist = "../../../cfi_blocklist.txt"
27  }
28
29  sources = [
30    "src/cxx/status_change_wrapper.cpp",
31    "src/cxx/system_ability_manager_wrapper.cpp",
32  ]
33
34  sources += get_target_outputs(":samgr_cxx_gen")
35  include_dirs = [
36    "${target_gen_dir}/src",
37    "include",
38  ]
39  deps = [
40    ":samgr_cxx_gen",
41    "../samgr_proxy:samgr_proxy",
42  ]
43
44  external_deps = [
45    "c_utils:utils",
46    "hilog:libhilog",
47    "ipc:ipc_single",
48    "rust_cxx:cxx_cppdeps",
49  ]
50
51  subsystem_name = "systemabilitymgr"
52  part_name = "samgr"
53}
54
55ohos_rust_shared_library("samgr_rust") {
56  sources = [ "src/lib.rs" ]
57
58  rustflags = [ "-Zstack-protector=all" ]
59
60  external_deps = [
61    "hilog:hilog_rust",
62    "ipc:ipc_rust",
63    "rust_cxx:lib",
64  ]
65
66  deps = [ ":samgr_rust_cpp" ]
67  crate_name = "samgr"
68
69  install_images = [ system_base_dir ]
70
71  subsystem_name = "systemabilitymgr"
72  part_name = "samgr"
73}
74