1e0dac50fSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 2e0dac50fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3e0dac50fSopenharmony_ci# you may not use this file except in compliance with the License. 4e0dac50fSopenharmony_ci# You may obtain a copy of the License at 5e0dac50fSopenharmony_ci# 6e0dac50fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7e0dac50fSopenharmony_ci# 8e0dac50fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9e0dac50fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10e0dac50fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11e0dac50fSopenharmony_ci# See the License for the specific language governing permissions and 12e0dac50fSopenharmony_ci# limitations under the License. 13e0dac50fSopenharmony_ci 14e0dac50fSopenharmony_ciimport("//build/ohos.gni") 15e0dac50fSopenharmony_ciimport("../../windowmanager_aafwk.gni") 16e0dac50fSopenharmony_ci 17e0dac50fSopenharmony_ciconfig("session_public_config") { 18e0dac50fSopenharmony_ci include_dirs = [ 19e0dac50fSopenharmony_ci "${window_base_path}/window_scene", 20e0dac50fSopenharmony_ci "${window_base_path}/window_scene/intention_event/service/anr_manager/include", 21e0dac50fSopenharmony_ci "${window_base_path}/window_scene/intention_event/framework/anr_handler/include", 22e0dac50fSopenharmony_ci "${window_base_path}/window_scene/intention_event/utils/include", 23e0dac50fSopenharmony_ci "${window_base_path}/interfaces/innerkits/dm", 24e0dac50fSopenharmony_ci "${window_base_path}/wm/include/zidl", 25e0dac50fSopenharmony_ci 26e0dac50fSopenharmony_ci # for window_manager_hilog 27e0dac50fSopenharmony_ci "${window_base_path}/utils/include", 28e0dac50fSopenharmony_ci "${window_base_path}/window_scene/common/include", 29e0dac50fSopenharmony_ci 30e0dac50fSopenharmony_ci # for WMError Code 31e0dac50fSopenharmony_ci "${window_base_path}/interfaces/innerkits/wm", 32e0dac50fSopenharmony_ci ] 33e0dac50fSopenharmony_ci} 34e0dac50fSopenharmony_ci 35e0dac50fSopenharmony_ciohos_shared_library("scene_session") { 36e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 37e0dac50fSopenharmony_ci sanitize = { 38e0dac50fSopenharmony_ci cfi = true 39e0dac50fSopenharmony_ci cfi_cross_dso = true 40e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 41e0dac50fSopenharmony_ci debug = false 42e0dac50fSopenharmony_ci } 43e0dac50fSopenharmony_ci sources = [ 44e0dac50fSopenharmony_ci "container/src/window_event_channel.cpp", 45e0dac50fSopenharmony_ci "container/src/zidl/session_stage_proxy.cpp", 46e0dac50fSopenharmony_ci "container/src/zidl/session_stage_stub.cpp", 47e0dac50fSopenharmony_ci "container/src/zidl/window_event_channel_proxy.cpp", 48e0dac50fSopenharmony_ci "container/src/zidl/window_event_channel_stub.cpp", 49e0dac50fSopenharmony_ci "host/src/extension_session.cpp", 50e0dac50fSopenharmony_ci "host/src/keyboard_session.cpp", 51e0dac50fSopenharmony_ci "host/src/main_session.cpp", 52e0dac50fSopenharmony_ci "host/src/move_drag_controller.cpp", 53e0dac50fSopenharmony_ci "host/src/multi_instance_manager.cpp", 54e0dac50fSopenharmony_ci "host/src/root_scene_session.cpp", 55e0dac50fSopenharmony_ci "host/src/scb_system_session.cpp", 56e0dac50fSopenharmony_ci "host/src/scene_persistence.cpp", 57e0dac50fSopenharmony_ci "host/src/scene_persistent_storage.cpp", 58e0dac50fSopenharmony_ci "host/src/scene_session.cpp", 59e0dac50fSopenharmony_ci "host/src/session.cpp", 60e0dac50fSopenharmony_ci "host/src/sub_session.cpp", 61e0dac50fSopenharmony_ci "host/src/system_session.cpp", 62e0dac50fSopenharmony_ci "host/src/ws_ffrt_helper.cpp", 63e0dac50fSopenharmony_ci "host/src/zidl/session_proxy.cpp", 64e0dac50fSopenharmony_ci "host/src/zidl/session_stub.cpp", 65e0dac50fSopenharmony_ci ] 66e0dac50fSopenharmony_ci 67e0dac50fSopenharmony_ci public_configs = [ ":session_public_config" ] 68e0dac50fSopenharmony_ci 69e0dac50fSopenharmony_ci deps = [ 70e0dac50fSopenharmony_ci "${window_base_path}/dm:libdm", 71e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil", 72e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil_base", 73e0dac50fSopenharmony_ci "${window_base_path}/window_scene/common:window_scene_common", 74e0dac50fSopenharmony_ci "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager", 75e0dac50fSopenharmony_ci "${window_base_path}/window_scene/interfaces/innerkits:libwsutils", 76e0dac50fSopenharmony_ci "${window_base_path}/window_scene/screen_session_manager_client:screen_session_manager_client", 77e0dac50fSopenharmony_ci "${window_base_path}/window_scene/session:screen_session", 78e0dac50fSopenharmony_ci ] 79e0dac50fSopenharmony_ci 80e0dac50fSopenharmony_ci external_deps = [ 81e0dac50fSopenharmony_ci "ability_runtime:ability_start_setting", 82e0dac50fSopenharmony_ci "ability_runtime:process_options", 83e0dac50fSopenharmony_ci "ability_runtime:start_window_option", 84e0dac50fSopenharmony_ci "bundle_framework:appexecfwk_base", 85e0dac50fSopenharmony_ci "bundle_framework:appexecfwk_core", 86e0dac50fSopenharmony_ci "c_utils:utils", 87e0dac50fSopenharmony_ci "eventhandler:libeventhandler", 88e0dac50fSopenharmony_ci "ffrt:libffrt", 89e0dac50fSopenharmony_ci "graphic_2d:librender_service_client", 90e0dac50fSopenharmony_ci "hilog:libhilog", 91e0dac50fSopenharmony_ci "hisysevent:libhisysevent", 92e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 93e0dac50fSopenharmony_ci "image_framework:image_native", 94e0dac50fSopenharmony_ci "init:libbegetutil", 95e0dac50fSopenharmony_ci "input:libmmi-client", 96e0dac50fSopenharmony_ci "ipc:ipc_single", 97e0dac50fSopenharmony_ci ] 98e0dac50fSopenharmony_ci if (!(host_os == "linux" && host_cpu == "arm64")) { 99e0dac50fSopenharmony_ci external_deps += [ "preferences:native_preferences" ] 100e0dac50fSopenharmony_ci } 101e0dac50fSopenharmony_ci public_external_deps = [ 102e0dac50fSopenharmony_ci "ability_base:base", 103e0dac50fSopenharmony_ci "ability_base:session_info", 104e0dac50fSopenharmony_ci "ability_base:want", 105e0dac50fSopenharmony_ci "accessibility:accessibility_common", 106e0dac50fSopenharmony_ci "accessibility:accessibility_interface", 107e0dac50fSopenharmony_ci "input:libmmi-napi", 108e0dac50fSopenharmony_ci ] 109e0dac50fSopenharmony_ci defines = [] 110e0dac50fSopenharmony_ci 111e0dac50fSopenharmony_ci if (defined(global_parts_info) && 112e0dac50fSopenharmony_ci defined(global_parts_info.barrierfree_accessibility)) { 113e0dac50fSopenharmony_ci external_deps += [ "accessibility:accessibility_common" ] 114e0dac50fSopenharmony_ci } 115e0dac50fSopenharmony_ci 116e0dac50fSopenharmony_ci if (defined(global_parts_info) && 117e0dac50fSopenharmony_ci defined(global_parts_info.powermgr_power_manager)) { 118e0dac50fSopenharmony_ci external_deps += [ "power_manager:powermgr_client" ] 119e0dac50fSopenharmony_ci defines += [ "POWER_MANAGER_ENABLE" ] 120e0dac50fSopenharmony_ci } 121e0dac50fSopenharmony_ci 122e0dac50fSopenharmony_ci if (defined(global_parts_info) && 123e0dac50fSopenharmony_ci defined(global_parts_info.resourceschedule_resource_schedule_service)) { 124e0dac50fSopenharmony_ci external_deps += [ "resource_schedule_service:ressched_client" ] 125e0dac50fSopenharmony_ci defines += [ "RES_SCHED_ENABLE" ] 126e0dac50fSopenharmony_ci } 127e0dac50fSopenharmony_ci 128e0dac50fSopenharmony_ci if (device_status_enable) { 129e0dac50fSopenharmony_ci external_deps += [ "device_status:devicestatus_client" ] 130e0dac50fSopenharmony_ci defines += [ "DEVICE_STATUS_ENABLE" ] 131e0dac50fSopenharmony_ci } 132e0dac50fSopenharmony_ci 133e0dac50fSopenharmony_ci if (!defined(global_parts_info) || 134e0dac50fSopenharmony_ci defined(global_parts_info.inputmethod_imf)) { 135e0dac50fSopenharmony_ci imf_enable = true 136e0dac50fSopenharmony_ci } else { 137e0dac50fSopenharmony_ci imf_enable = false 138e0dac50fSopenharmony_ci } 139e0dac50fSopenharmony_ci print("imf_enable: ", imf_enable) 140e0dac50fSopenharmony_ci if (imf_enable == true) { 141e0dac50fSopenharmony_ci external_deps += [ "imf:inputmethod_client" ] 142e0dac50fSopenharmony_ci defines += [ "IMF_ENABLE" ] 143e0dac50fSopenharmony_ci } 144e0dac50fSopenharmony_ci 145e0dac50fSopenharmony_ci if (build_variant == "root") { 146e0dac50fSopenharmony_ci defines += [ "ACCESSIBILITY_DUMP_FOR_TEST" ] 147e0dac50fSopenharmony_ci } 148e0dac50fSopenharmony_ci 149e0dac50fSopenharmony_ci innerapi_tags = [ "platformsdk" ] 150e0dac50fSopenharmony_ci part_name = "window_manager" 151e0dac50fSopenharmony_ci subsystem_name = "window" 152e0dac50fSopenharmony_ci 153e0dac50fSopenharmony_ci if (build_variant == "user") { 154e0dac50fSopenharmony_ci defines += [ "IS_RELEASE_VERSION" ] 155e0dac50fSopenharmony_ci } 156e0dac50fSopenharmony_ci} 157e0dac50fSopenharmony_ci 158e0dac50fSopenharmony_ciohos_shared_library("screen_session") { 159e0dac50fSopenharmony_ci branch_protector_ret = "pac_ret" 160e0dac50fSopenharmony_ci sanitize = { 161e0dac50fSopenharmony_ci cfi = true 162e0dac50fSopenharmony_ci cfi_cross_dso = true 163e0dac50fSopenharmony_ci cfi_vcall_icall_only = true 164e0dac50fSopenharmony_ci debug = false 165e0dac50fSopenharmony_ci } 166e0dac50fSopenharmony_ci sources = [ 167e0dac50fSopenharmony_ci "screen/src/screen_property.cpp", 168e0dac50fSopenharmony_ci "screen/src/screen_session.cpp", 169e0dac50fSopenharmony_ci ] 170e0dac50fSopenharmony_ci 171e0dac50fSopenharmony_ci public_configs = [ ":session_public_config" ] 172e0dac50fSopenharmony_ci 173e0dac50fSopenharmony_ci deps = [ 174e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil", 175e0dac50fSopenharmony_ci "${window_base_path}/utils:libwmutil_base", 176e0dac50fSopenharmony_ci ] 177e0dac50fSopenharmony_ci 178e0dac50fSopenharmony_ci external_deps = [ 179e0dac50fSopenharmony_ci "c_utils:utils", 180e0dac50fSopenharmony_ci "graphic_2d:librender_service_client", 181e0dac50fSopenharmony_ci "hicollie:libhicollie", 182e0dac50fSopenharmony_ci "hilog:libhilog", 183e0dac50fSopenharmony_ci "hisysevent:libhisysevent", 184e0dac50fSopenharmony_ci "hitrace:hitrace_meter", 185e0dac50fSopenharmony_ci "init:libbegetutil", 186e0dac50fSopenharmony_ci ] 187e0dac50fSopenharmony_ci public_external_deps = [ 188e0dac50fSopenharmony_ci "ability_base:base", 189e0dac50fSopenharmony_ci "ability_base:want", 190e0dac50fSopenharmony_ci "accessibility:accessibility_common", 191e0dac50fSopenharmony_ci "input:libmmi-napi", 192e0dac50fSopenharmony_ci ] 193e0dac50fSopenharmony_ci 194e0dac50fSopenharmony_ci innerapi_tags = [ "platformsdk" ] 195e0dac50fSopenharmony_ci part_name = "window_manager" 196e0dac50fSopenharmony_ci subsystem_name = "window" 197e0dac50fSopenharmony_ci} 198