1# Copyright (c) 2022-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") 15import("../../ressched.gni") 16 17config("frame_aware_plugin_config") { 18 include_dirs = [ 19 "include", 20 "${ressched_common}/include", 21 "${ressched_interfaces}/innerkits/ressched_client/include", 22 ] 23} 24 25ohos_shared_library("frame_aware_plugin") { 26 branch_protector_ret = "pac_ret" 27 28 configs = [ ":frame_aware_plugin_config" ] 29 30 cflags_cc = [ 31 "-fomit-frame-pointer", 32 "-fdata-sections", 33 "-ffunction-sections", 34 "-fno-unroll-loops", 35 "-fno-exceptions", 36 "-fno-unwind-tables", 37 "-fno-asynchronous-unwind-tables", 38 "-g0", 39 "-Os", 40 ] 41 42 ldflags = [ "-Wl,--exclude-libs=ALL" ] 43 sources = [ 44 "src/frame_aware_plugin.cpp", 45 "src/network_latency_controller.cpp", 46 ] 47 48 deps = [ "${ressched_services}:resschedsvc" ] 49 50 external_deps = [ 51 "c_utils:utils", 52 "ffrt:libffrt", 53 "frame_aware_sched:frame_msg_intf", 54 "frame_aware_sched:rtg_interface", 55 "hilog:libhilog", 56 "init:libbegetutil", 57 ] 58 59 subsystem_name = "resourceschedule" 60 part_name = "resource_schedule_service" 61} 62