1# Copyright (c) 2021-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("//foundation/ability/ability_runtime/ability_runtime.gni") 16import("//foundation/arkui/ace_engine/ace_config.gni") 17import("//foundation/arkui/ace_engine/build/ace_ext.gni") 18 19# build static 20template("ace_osal_ohos_source_set") { 21 forward_variables_from(invoker, "*") 22 23 ohos_source_set(target_name) { 24 subsystem_name = ace_engine_subsystem 25 part_name = ace_engine_part 26 defines += invoker.defines 27 if (defined(vendor_configs.use_ext_surface) && 28 vendor_configs.use_ext_surface) { 29 defines += [ "EXT_SURFACE_ENABLE" ] 30 } 31 if (is_ohos_standard_system) { 32 external_deps = [ 33 "hilog:libhilog", 34 "hitrace:hitrace_meter", 35 "init:libbeget_proxy", 36 "init:libbegetutil", 37 ] 38 configs = [ "$ace_root:ace_config" ] 39 } else { 40 external_deps = [ 41 "hilog:libhilog", 42 "hitrace:hitrace_meter", 43 "init:libbegetutil", 44 ] 45 46 configs = [ "$ace_root:ace_config" ] 47 } 48 include_dirs = [ 49 "$ability_runtime_napi_path/inner/napi_common", 50 "//base/hiviewdfx/hicollie/interfaces/native/innerkits/include", 51 "//commonlibrary/c_utils/base/include", 52 "//foundation/window/window_manager/interfaces/innerkits", 53 "//foundation/graphic/graphic_2d/rosen/modules/2d_engine", 54 "//foundation/graphic/graphic_2d/rosen/modules/2d_engine/rosen_text/export", 55 ] 56 57 sources = [ 58 "ace_checker.cpp", 59 "ace_engine_ext.cpp", 60 "ace_trace.cpp", 61 "anr_thread.cpp", 62 "app_bar_helper_impl.cpp", 63 "data_detector_adapter.cpp", 64 "data_detector_loader.cpp", 65 "data_detector_mgr.cpp", 66 "download_manager_ohos.cpp", 67 "event_report.cpp", 68 "exception_handler.cpp", 69 "frame_report.cpp", 70 "image_analyzer_loader.cpp", 71 "image_analyzer_mgr.cpp", 72 "layout_inspector.cpp", 73 "log_wrapper.cpp", 74 "modal_ui_extension_impl.cpp", 75 "ressched_report.cpp", 76 "socperf_client_impl.cpp", 77 "system_properties.cpp", 78 "trace_id_impl.cpp", 79 "view_data_wrap_ohos.cpp", 80 "want_wrap_ohos.cpp", 81 ] 82 83 external_deps += [ 84 "ability_runtime:app_manager", 85 "i18n:intl_util", 86 "init:libbegetutil", 87 ] 88 89 if (is_ohos_standard_system) { 90 sources += [ 91 "resource_adapter_impl.cpp", 92 "resource_adapter_impl_v2.cpp", 93 "resource_convertor.cpp", 94 "resource_theme_style.cpp", 95 ] 96 deps = [ "$skia_root_new:skia_ohos" ] 97 98 if (defined(global_parts_info) && 99 defined(global_parts_info.resourceschedule_soc_perf)) { 100 external_deps += [ "soc_perf:socperf_client" ] 101 defines += [ "SOC_PERF_ENABLE" ] 102 } 103 104 if (defined(resourceschedule_ffrt_support) && 105 resourceschedule_ffrt_support) { 106 sources += [ "long_frame_report_impl.cpp" ] 107 external_deps += [ "ffrt:libffrt" ] 108 } 109 110 external_deps += [ 111 "ability_base:view_data", 112 "ability_base:want", 113 "ability_runtime:abilitykit_native", 114 "image_framework:image", 115 "input:libmmi-client", 116 "napi:ace_napi", 117 "resource_management:global_resmgr", 118 ] 119 if (defined(config.accessibility_support) && 120 config.accessibility_support) { 121 sources += [ "js_accessibility_manager.cpp" ] 122 deps += [ "$ace_root/frameworks/bridge/common/accessibility:bridge_accessibility_$platform" ] 123 external_deps += [ 124 "accessibility:accessibilityclient", 125 "accessibility:accessibilityconfig", 126 ] 127 } else { 128 sources += [ "fake_accessibility_manager.cpp" ] 129 } 130 if (frame_trace_support) { 131 include_dirs += [ "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf" ] 132 sources += [ "frame_trace_adapter_impl.cpp" ] 133 external_deps += [ "frame_aware_sched:frame_trace_intf" ] 134 } else { 135 sources += [ "frame_trace_adapter_fake_impl.cpp" ] 136 } 137 } else { 138 external_deps += [ "multimedia_image:image" ] 139 } 140 sources += [ 141 "file_uri_helper_ohos.cpp", 142 "image_source_ohos.cpp", 143 "input_manager.cpp", 144 "mouse_style_ohos.cpp", 145 "page_url_checker_ohos.cpp", 146 "pixel_map_ohos.cpp", 147 ] 148 external_deps += [ 149 "ability_runtime:abilitykit_native", 150 "ability_runtime:app_manager", 151 "app_file_service:fileuri_native", 152 "bundle_framework:appexecfwk_core", 153 "graphic_2d:librender_service_client", 154 "hicollie:libhicollie", 155 "hisysevent:libhisysevent", 156 "hitrace:libhitracechain", 157 "safwk:system_ability_fwk", 158 "samgr:samgr_proxy", 159 "window_manager:libdm", 160 "window_manager:scene_session", 161 ] 162 163 if (defined(config.hichecker_exists) && config.hichecker_exists) { 164 external_deps += [ "hichecker:libhichecker" ] 165 } 166 deps += [ 167 "$ace_root/interfaces/inner_api/drawable_descriptor:drawable_descriptor", 168 ] 169 170 if (ability_runtime_graphics) { 171 external_deps += [ "image_framework:image_native" ] 172 } 173 } 174} 175 176foreach(item, ace_platforms) { 177 platform = item.name 178 if (platform == "ohos" || platform == "ohos_ng") { 179 ace_osal_ohos_source_set("ace_osal_ohos_${platform}") { 180 platform = item.name 181 assert(defined(platform) && platform != "", "platform must be defined") 182 defines = [] 183 config = { 184 } 185 186 if (defined(item.config)) { 187 config = item.config 188 } 189 if (defined(config.defines)) { 190 defines = config.defines 191 } 192 } 193 } 194} 195