1# Copyright (c) 2024 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") 15import("//build/test.gni") 16import("../../ressched/ressched.gni") 17import("../ressched_executor.gni") 18 19config("service_public_config") { 20 include_dirs = [ 21 "${ressched_common}/include", 22 "${resschedexe_common}/include", 23 "${resschedexe_plugins}/pluginbase/include", 24 "${resschedexe_plugins}/resschedfwk/include", 25 "resschedexemgr/include", 26 ] 27} 28 29config("service_private_config") { 30 include_dirs = [ "resschedexeservice/include" ] 31} 32 33ohos_shared_library("resschedexesvc") { 34 cflags_cc = [ "-fstack-protector-strong" ] 35 configs = [ ":service_private_config" ] 36 37 public_configs = [ ":service_public_config" ] 38 39 defines = [] 40 41 include_dirs = [] 42 43 sources = [ 44 "${resschedexe_common}/src/executor_hitrace_chain.cpp", 45 "${resschedexe_plugins}/resschedfwk/src/config_reader.cpp", 46 "${resschedexe_plugins}/resschedfwk/src/plugin_mgr.cpp", 47 "${resschedexe_plugins}/resschedfwk/src/plugin_switch.cpp", 48 "resschedexemgr/src/res_sched_exe_mgr.cpp", 49 "resschedexeservice/src/res_sched_exe_service.cpp", 50 ] 51 52 deps = [ 53 "${resourcescheduleservice_path}/ressched/plugins/cgroup_sched_plugin/framework/process_group:libprocess_group", 54 "${ressched_common}:ressched_common_utils", 55 "${resschedexe_interfaces}/innerkits/ressched_executor_client:res_sched_exe_service_stub", 56 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 57 ] 58 59 external_deps = [ 60 "access_token:libaccesstoken_sdk", 61 "access_token:libtokenid_sdk", 62 "config_policy:configpolicy_util", 63 "ffrt:libffrt", 64 "hilog:libhilog", 65 "hisysevent:libhisysevent", 66 "hisysevent:libhisyseventmanager", 67 "hitrace:hitrace_meter", 68 "hitrace:libhitracechain", 69 "init:libbegetutil", 70 "ipc:ipc_single", 71 "libxml2:libxml2", 72 "safwk:system_ability_fwk", 73 "samgr:samgr_proxy", 74 ] 75 76 public_external_deps = [ 77 "c_utils:utils", 78 "eventhandler:libeventhandler", 79 ] 80 81 if (resource_schedule_service_with_ffrt_enable) { 82 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 83 } 84 85 version_script = "libresschedexeservice.versionscript" 86 shlib_type = "sa" 87 subsystem_name = "resourceschedule" 88 part_name = "resource_schedule_service" 89 90 branch_protector_ret = "pac_ret" 91 92 sanitize = { 93 cfi = true 94 cfi_cross_dso = true 95 debug = false 96 } 97} 98 99# for unittest 100ohos_static_library("resschedexesvc_static") { 101 configs = [] 102 103 public_configs = [ 104 ":service_private_config", 105 ":service_public_config", 106 ] 107 108 defines = [] 109 110 include_dirs = [] 111 112 sources = [ 113 "${resschedexe_common}/src/executor_hitrace_chain.cpp", 114 "${resschedexe_plugins}/resschedfwk/src/config_reader.cpp", 115 "${resschedexe_plugins}/resschedfwk/src/plugin_mgr.cpp", 116 "${resschedexe_plugins}/resschedfwk/src/plugin_switch.cpp", 117 "resschedexemgr/src/res_sched_exe_mgr.cpp", 118 "resschedexeservice/src/res_sched_exe_service.cpp", 119 ] 120 121 deps = [ 122 "${resourcescheduleservice_path}/ressched/plugins/cgroup_sched_plugin/framework/process_group:libprocess_group", 123 "${resschedexe_interfaces}/innerkits/ressched_executor_client:res_sched_exe_service_stub", 124 "${resschedexe_interfaces}/innerkits/ressched_executor_client:resschedexe_client", 125 ] 126 127 external_deps = [ 128 "access_token:libaccesstoken_sdk", 129 "access_token:libtokenid_sdk", 130 "config_policy:configpolicy_util", 131 "ffrt:libffrt", 132 "hilog:libhilog", 133 "hisysevent:libhisysevent", 134 "hisysevent:libhisyseventmanager", 135 "hitrace:hitrace_meter", 136 "hitrace:libhitracechain", 137 "init:libbegetutil", 138 "ipc:ipc_single", 139 "samgr:samgr_proxy", 140 ] 141 142 public_external_deps = [ 143 "c_utils:utils", 144 "eventhandler:libeventhandler", 145 "libxml2:libxml2", 146 "safwk:system_ability_fwk", 147 ] 148 149 if (resource_schedule_service_with_ffrt_enable) { 150 defines += [ "RESOURCE_SCHEDULE_SERVICE_WITH_FFRT_ENABLE" ] 151 } 152 153 subsystem_name = "resourceschedule" 154 part_name = "resource_schedule_service" 155 156 branch_protector_ret = "pac_ret" 157 158 sanitize = { 159 cfi = true 160 cfi_cross_dso = true 161 debug = false 162 } 163} 164