• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022-2025 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/config/components/idl_tool/idl.gni")
15import("//build/ohos.gni")
16import("//build/test.gni")
17
18idl_gen_interface("qos_manager_interface") {
19  src_idl = rebase_path("./idl/IConcurrentTaskService.idl")
20  sources_common = [ "ConcurrentTaskIdlTypes.idl" ]
21}
22
23config("client_private_config") {
24  cflags_cc = [ "-fexceptions" ]
25  include_dirs = [
26    "../../include",
27    "../../services/include",
28  ]
29}
30
31config("client_public_config") {
32  visibility = [ ":*" ]
33  cflags = [ "-fstack-protector-strong" ]
34  include_dirs = [
35    "include",
36    "../../interfaces/inner_api/",
37    "${target_gen_dir}",
38  ]
39}
40
41ohos_source_set("concurrent_task_idl") {
42  sanitize = {
43    cfi = true
44    cfi_cross_dso = true
45    debug = false
46  }
47  branch_protector_ret = "pac_ret"
48  output_values = get_target_outputs(":qos_manager_interface")
49  sources = filter_include(output_values, [ "*_stub.cpp" ])
50  sources += filter_include(output_values, [ "*_types.cpp" ])
51  public_configs = [ ":client_public_config" ]
52  deps = [ ":qos_manager_interface" ]
53  external_deps = [
54    "c_utils:utils",
55    "ipc:ipc_core",
56  ]
57  cflags_cc = [
58    "-fomit-frame-pointer",
59    "-fdata-sections",
60    "-ffunction-sections",
61    "-fno-unroll-loops",
62    "-fno-exceptions",
63    "-fno-unwind-tables",
64    "-fno-asynchronous-unwind-tables",
65    "-g0",
66    "-Os",
67  ]
68  subsystem_name = "resourceschedule"
69  part_name = "qos_manager"
70}
71
72ohos_shared_library("concurrent_task_client") {
73  branch_protector_ret = "pac_ret"
74  configs = [ ":client_private_config" ]
75
76  public_configs = [ ":client_public_config" ]
77
78  cflags_cc = [
79    "-fomit-frame-pointer",
80    "-fdata-sections",
81    "-ffunction-sections",
82    "-fno-unroll-loops",
83    "-fno-exceptions",
84    "-fno-unwind-tables",
85    "-fno-asynchronous-unwind-tables",
86    "-Os",
87  ]
88
89  ldflags = [ "-Wl,--exclude-libs=ALL" ]
90
91  output_values = get_target_outputs(":qos_manager_interface")
92
93  sources = [ "src/concurrent_task_client.cpp" ]
94
95  sources += filter_include(output_values, [ "*_proxy.cpp" ])
96  sources += filter_include(output_values, [ "*_types.cpp" ])
97
98  deps = [ ":qos_manager_interface" ]
99
100  external_deps = [
101    "c_utils:utils",
102    "hilog:libhilog",
103    "ipc:ipc_core",
104    "ipc:ipc_single",
105    "samgr:samgr_proxy",
106  ]
107
108  subsystem_name = "resourceschedule"
109  part_name = "qos_manager"
110}
111