13c3173acSopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
23c3173acSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
33c3173acSopenharmony_ci# you may not use this file except in compliance with the License.
43c3173acSopenharmony_ci# You may obtain a copy of the License at
53c3173acSopenharmony_ci#
63c3173acSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
73c3173acSopenharmony_ci#
83c3173acSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
93c3173acSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
103c3173acSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
113c3173acSopenharmony_ci# See the License for the specific language governing permissions and
123c3173acSopenharmony_ci# limitations under the License.
133c3173acSopenharmony_ci
143c3173acSopenharmony_ciimport("//build/ohos.gni")
153c3173acSopenharmony_ci
163c3173acSopenharmony_ciconfig("concurrent_task_config") {
173c3173acSopenharmony_ci  visibility = [ ":*" ]
183c3173acSopenharmony_ci  cflags_cc = [ "-fexceptions" ]
193c3173acSopenharmony_ci  cflags = [
203c3173acSopenharmony_ci    "-fstack-protector-strong",
213c3173acSopenharmony_ci    "-Wno-shift-negative-value",
223c3173acSopenharmony_ci  ]
233c3173acSopenharmony_ci  include_dirs = [
243c3173acSopenharmony_ci    "include",
253c3173acSopenharmony_ci    "../include",
263c3173acSopenharmony_ci    "../frameworks/concurrent_task_client/include/",
273c3173acSopenharmony_ci    "../interfaces/inner_api/",
283c3173acSopenharmony_ci    "../common/include",
293c3173acSopenharmony_ci  ]
303c3173acSopenharmony_ci}
313c3173acSopenharmony_ci
323c3173acSopenharmony_ciohos_shared_library("concurrentsvc") {
333c3173acSopenharmony_ci  public_configs = [ ":concurrent_task_config" ]
343c3173acSopenharmony_ci  branch_protector_ret = "pac_ret"
353c3173acSopenharmony_ci  sanitize = {
363c3173acSopenharmony_ci    cfi = true
373c3173acSopenharmony_ci    cfi_cross_dso = true
383c3173acSopenharmony_ci    cfi_no_nvcall = true
393c3173acSopenharmony_ci    cfi_vcall_ical_only = true
403c3173acSopenharmony_ci    debug = false
413c3173acSopenharmony_ci  }
423c3173acSopenharmony_ci
433c3173acSopenharmony_ci  cflags_cc = [
443c3173acSopenharmony_ci    "-fomit-frame-pointer",
453c3173acSopenharmony_ci    "-fdata-sections",
463c3173acSopenharmony_ci    "-ffunction-sections",
473c3173acSopenharmony_ci    "-fno-unroll-loops",
483c3173acSopenharmony_ci    "-fno-exceptions",
493c3173acSopenharmony_ci    "-fno-unwind-tables",
503c3173acSopenharmony_ci    "-fno-asynchronous-unwind-tables",
513c3173acSopenharmony_ci    "-g0",
523c3173acSopenharmony_ci    "-Os",
533c3173acSopenharmony_ci  ]
543c3173acSopenharmony_ci
553c3173acSopenharmony_ci  ldflags = [ "-Wl,--exclude-libs=ALL" ]
563c3173acSopenharmony_ci  sources = [
573c3173acSopenharmony_ci    "../common/src/config_reader.cpp",
583c3173acSopenharmony_ci    "src/concurrent_task_controller.cpp",
593c3173acSopenharmony_ci    "src/concurrent_task_service.cpp",
603c3173acSopenharmony_ci    "src/concurrent_task_service_ability.cpp",
613c3173acSopenharmony_ci    "src/concurrent_task_service_stub.cpp",
623c3173acSopenharmony_ci    "src/qos_interface.cpp",
633c3173acSopenharmony_ci    "src/qos_policy.cpp",
643c3173acSopenharmony_ci  ]
653c3173acSopenharmony_ci
663c3173acSopenharmony_ci  deps = [ "../etc/param:ffrt_etc" ]
673c3173acSopenharmony_ci
683c3173acSopenharmony_ci  if (defined(
693c3173acSopenharmony_ci      global_parts_info.hmosresourceschedule_frame_aware_sched_override)) {
703c3173acSopenharmony_ci    defines = [ "QOS_EXT_ENABLE" ]
713c3173acSopenharmony_ci  }
723c3173acSopenharmony_ci
733c3173acSopenharmony_ci  external_deps = [
743c3173acSopenharmony_ci    "access_token:libaccesstoken_sdk",
753c3173acSopenharmony_ci    "c_utils:utils",
763c3173acSopenharmony_ci    "config_policy:configpolicy_util",
773c3173acSopenharmony_ci    "frame_aware_sched:rtg_interface",
783c3173acSopenharmony_ci    "hilog:libhilog",
793c3173acSopenharmony_ci    "hitrace:hitrace_meter",
803c3173acSopenharmony_ci    "init:libbegetutil",
813c3173acSopenharmony_ci    "ipc:ipc_single",
823c3173acSopenharmony_ci    "jsoncpp:jsoncpp",
833c3173acSopenharmony_ci    "libxml2:libxml2",
843c3173acSopenharmony_ci    "safwk:system_ability_fwk",
853c3173acSopenharmony_ci    "samgr:samgr_proxy",
863c3173acSopenharmony_ci  ]
873c3173acSopenharmony_ci
883c3173acSopenharmony_ci  subsystem_name = "resourceschedule"
893c3173acSopenharmony_ci  part_name = "qos_manager"
903c3173acSopenharmony_ci}
91