1# Copyright (c) 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("../../windowmanager_aafwk.gni") 16 17config("session_manager_public_config") { 18 visibility = [ ":*" ] 19 20 include_dirs = [ 21 "${window_base_path}/interfaces/innerkits/wm", 22 "${window_base_path}/interfaces/include", 23 "${window_base_path}/window_scene", 24 "${window_base_path}/window_scene/common/include", 25 "${window_base_path}/window_scene/interfaces/include", 26 "${window_base_path}/window_scene/screen_session_manager/include", 27 "${window_base_path}/window_scene/screen_session_manager/include/zidl", 28 "${window_base_path}/window_scene/session_manager/include", 29 "${window_base_path}/window_scene/session_manager/include/zidl", 30 "${window_base_path}/window_scene/session_manager_service/include", 31 32 # for session_manager 33 "${window_base_path}/wmserver/include", 34 "${window_base_path}/wmserver/include/zidl", 35 36 # for screen_session_manager 37 "${window_base_path}/utils/include", 38 "${window_base_path}/dm/include", 39 "${window_base_path}/interfaces/innerkits/dm", 40 "${window_base_path}/dmserver/include", 41 42 # for scene session manager 43 "${window_base_path}/interfaces/innerkits/wm", 44 "${window_base_path}/wmserver/include", 45 "${window_base_path}/window_scene/screen_session_manager_client/include", 46 47 # for window_manager_hilog 48 "${window_base_path}/utils/include", 49 50 "${window_base_path}/wm/include", 51 "${window_base_path}/wm/include/zidl", 52 ] 53} 54 55ohos_shared_library("scene_session_manager") { 56 branch_protector_ret = "pac_ret" 57 sanitize = { 58 cfi = true 59 cfi_cross_dso = true 60 cfi_vcall_icall_only = true 61 debug = false 62 } 63 sources = [ 64 "../../wm/src/zidl/window_manager_agent_proxy.cpp", 65 "src/anomaly_detection.cpp", 66 "src/distributed_client.cpp", 67 "src/extension_session_manager.cpp", 68 "src/ffrt_queue_helper.cpp", 69 "src/hidump_controller.cpp", 70 "src/publish/scb_dump_subscriber.cpp", 71 "src/scb_session_handler.cpp", 72 "src/scene_input_manager.cpp", 73 "src/scene_session_converter.cpp", 74 "src/scene_session_dirty_manager.cpp", 75 "src/scene_session_manager.cpp", 76 "src/scene_session_manager_lite.cpp", 77 "src/scene_system_ability_listener.cpp", 78 "src/session_listener_controller.cpp", 79 "src/session_manager_agent_controller.cpp", 80 "src/window_focus_controller.cpp", 81 "src/window_manager_lru.cpp", 82 "src/window_scene_config.cpp", 83 "src/zidl/scene_session_manager_lite_stub.cpp", 84 "src/zidl/scene_session_manager_stub.cpp", 85 "src/zidl/session_lifecycle_listener_stub.cpp", 86 ] 87 88 public_configs = [ ":session_manager_public_config" ] 89 90 deps = [ 91 "${window_base_path}/dm:libdm", 92 "${window_base_path}/utils:libwmutil", 93 "${window_base_path}/utils:libwmutil_base", 94 "${window_base_path}/window_scene/common:window_scene_common", 95 "${window_base_path}/window_scene/intention_event/service:intention_event_anr_manager", 96 "${window_base_path}/window_scene/screen_session_manager_client:screen_session_manager_client", 97 "${window_base_path}/window_scene/session:scene_session", 98 "${window_base_path}/window_scene/session:screen_session", 99 ] 100 public_external_deps = [ 101 "ability_runtime:session_handler", 102 "accessibility:accessibility_common", 103 "graphic_2d:librender_service_client", 104 "graphic_2d:window_animation", 105 "input:libmmi-client", 106 "input:libmmi-napi", 107 ] 108 external_deps = [ 109 "ability_base:session_info", 110 "ability_base:want", 111 "ability_runtime:ability_context_native", 112 "ability_runtime:ability_deps_wrapper", 113 "ability_runtime:ability_manager", 114 "ability_runtime:ability_start_setting", 115 "ability_runtime:app_context", 116 "ability_runtime:app_manager", 117 "ability_runtime:mission_info", 118 "ability_runtime:session_handler", 119 "ace_engine:ace_uicontent", 120 "bundle_framework:appexecfwk_base", 121 "bundle_framework:appexecfwk_core", 122 "bundle_framework:libappexecfwk_common", 123 "c_utils:utils", 124 "config_policy:configpolicy_util", 125 "dsoftbus:softbus_client", 126 "eventhandler:libeventhandler", 127 "ffrt:libffrt", 128 "graphic_2d:librender_service_base", 129 "graphic_2d:librender_service_client", 130 "hicollie:libhicollie", 131 "hilog:libhilog", 132 "hisysevent:libhisysevent", 133 "hitrace:hitrace_meter", 134 "image_framework:image_native", 135 "init:libbegetutil", 136 "input:libmmi-client", 137 "ipc:ipc_single", 138 "libxml2:libxml2", 139 "napi:ace_napi", 140 "preferences:native_preferences", 141 "resource_management:global_resmgr", 142 "safwk:system_ability_fwk", 143 "samgr:samgr_proxy", 144 ] 145 146 defines = [] 147 if (defined(global_parts_info) && 148 defined(global_parts_info.resourceschedule_memmgr_override)) { 149 external_deps += [ "memmgr:memmgrclient" ] 150 defines += [ "MEMMGR_WINDOW_ENABLE" ] 151 } 152 153 if (defined(global_parts_info) && 154 defined(global_parts_info.powermgr_power_manager)) { 155 external_deps += [ "power_manager:powermgr_client" ] 156 defines += [ "POWER_MANAGER_ENABLE" ] 157 } 158 159 if (defined(global_parts_info) && 160 defined(global_parts_info.powermgr_display_manager)) { 161 external_deps += [ "display_manager:displaymgr" ] 162 defines += [ "POWERMGR_DISPLAY_MANAGER_ENABLE" ] 163 } 164 165 if (defined(global_parts_info) && 166 defined(global_parts_info.resourceschedule_soc_perf)) { 167 external_deps += [ "resource_schedule_service:ressched_client" ] 168 defines += [ "RES_SCHED_ENABLE" ] 169 } 170 171 if (defined(global_parts_info) && 172 defined(global_parts_info.security_security_component_manager)) { 173 external_deps += [ "security_component_manager:libsecurity_component_sdk" ] 174 defines += [ "SECURITY_COMPONENT_MANAGER_ENABLE" ] 175 } 176 177 if (!defined(global_parts_info) || 178 defined(global_parts_info.inputmethod_imf)) { 179 imf_enable = true 180 } else { 181 imf_enable = false 182 } 183 print("imf_enable: ", imf_enable) 184 if (imf_enable == true) { 185 external_deps += [ "imf:inputmethod_client" ] 186 defines += [ "IMF_ENABLE" ] 187 } 188 189 innerapi_tags = [ "platformsdk" ] 190 part_name = "window_manager" 191 subsystem_name = "window" 192 193 if (build_variant == "user") { 194 defines += [ "IS_RELEASE_VERSION" ] 195 } 196} 197 198ohos_shared_library("session_manager") { 199 branch_protector_ret = "pac_ret" 200 sanitize = { 201 cfi = true 202 cfi_cross_dso = true 203 cfi_vcall_icall_only = true 204 debug = false 205 } 206 sources = [ 207 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 208 "../session_manager_service/src/session_manager_service_proxy.cpp", 209 "src/session_manager.cpp", 210 "src/zidl/scene_session_manager_proxy.cpp", 211 "src/zidl/session_lifecycle_listener_proxy.cpp", 212 ] 213 214 cflags_cc = [ "-std=c++17" ] 215 216 public_configs = [ ":session_manager_public_config" ] 217 218 deps = [ 219 ":session_manager_lite", 220 "${window_base_path}/utils:libwmutil", 221 "${window_base_path}/utils:libwmutil_base", 222 "${window_base_path}/window_scene/common:window_scene_common", 223 ] 224 public_external_deps = [ 225 "ability_runtime:session_handler", 226 "accessibility:accessibility_common", 227 "graphic_2d:librender_service_client", 228 "graphic_2d:window_animation", 229 "input:libmmi-client", 230 "input:libmmi-napi", 231 ] 232 external_deps = [ 233 "ability_base:session_info", 234 "ability_base:want", 235 "ability_runtime:ability_manager", 236 "ability_runtime:app_manager", 237 "ability_runtime:mission_info", 238 "c_utils:utils", 239 "graphic_2d:librender_service_base", 240 "graphic_2d:librender_service_client", 241 "hilog:libhilog", 242 "image_framework:image_native", 243 "ipc:ipc_single", 244 "safwk:system_ability_fwk", 245 "samgr:samgr_proxy", 246 ] 247 248 innerapi_tags = [ "platformsdk_indirect" ] 249 part_name = "window_manager" 250 subsystem_name = "window" 251 252 defines = [] 253 if (build_variant == "user") { 254 defines += [ "IS_RELEASE_VERSION" ] 255 } 256} 257 258ohos_shared_library("session_manager_lite") { 259 branch_protector_ret = "pac_ret" 260 sanitize = { 261 cfi = true 262 cfi_cross_dso = true 263 cfi_vcall_icall_only = true 264 debug = false 265 } 266 sources = [ 267 "../../wmserver/src/zidl/mock_session_manager_service_proxy.cpp", 268 "../session_manager_service/src/session_manager_service_proxy.cpp", 269 "src/session_manager_lite.cpp", 270 "src/zidl/scene_session_manager_lite_proxy.cpp", 271 ] 272 273 cflags_cc = [ "-std=c++17" ] 274 275 public_configs = [ ":session_manager_public_config" ] 276 277 deps = [ 278 "${window_base_path}/utils:libwmutil_base", 279 "${window_base_path}/window_scene/common:window_scene_common", 280 ] 281 282 public_external_deps = [ 283 "ability_runtime:session_handler", 284 "accessibility:accessibility_common", 285 "input:libmmi-napi", 286 ] 287 288 external_deps = [ 289 "ability_base:session_info", 290 "ability_base:want", 291 "ability_runtime:mission_info", 292 "c_utils:utils", 293 "hilog:libhilog", 294 "ipc:ipc_single", 295 "safwk:system_ability_fwk", 296 "samgr:samgr_proxy", 297 ] 298 299 innerapi_tags = [ "platformsdk_indirect" ] 300 part_name = "window_manager" 301 subsystem_name = "window" 302 303 defines = [] 304 if (build_variant == "user") { 305 defines += [ "IS_RELEASE_VERSION" ] 306 } 307} 308