• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2024 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/arkui/ace_engine/ace_config.gni")
16import("//foundation/arkui/ace_engine/build/ace_ext.gni")
17
18# build static
19template("ace_osal_ohos_source_set") {
20  forward_variables_from(invoker, "*")
21
22  ohos_source_set(target_name) {
23    subsystem_name = ace_engine_subsystem
24    part_name = ace_engine_part
25    defines += invoker.defines
26    if (defined(vendor_configs.use_ext_surface) &&
27        vendor_configs.use_ext_surface) {
28      defines += [ "EXT_SURFACE_ENABLE" ]
29    }
30    if (is_ohos_standard_system) {
31      external_deps = [
32        "hilog:libhilog",
33        "hitrace:hitrace_meter",
34        "imf:inputmethod_client",
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
49    sources = [
50      "ace_checker.cpp",
51      "ace_engine_ext.cpp",
52      "ace_trace.cpp",
53      "ai_write_adapter.cpp",
54      "anr_thread.cpp",
55      "app_bar_helper_impl.cpp",
56      "data_detector_adapter.cpp",
57      "data_detector_loader.cpp",
58      "data_detector_mgr.cpp",
59      "display_info_utils.cpp",
60      "download_manager_ohos.cpp",
61      "event_report.cpp",
62      "exception_handler.cpp",
63      "frame_report.cpp",
64      "image_analyzer_adapter_impl.cpp",
65      "image_analyzer_loader.cpp",
66      "image_analyzer_manager.cpp",
67      "image_analyzer_mgr.cpp",
68      "input_method_manager_ohos.cpp",
69      "layout_inspector.cpp",
70      "log_wrapper.cpp",
71      "modal_ui_extension_impl.cpp",
72      "ressched_report.cpp",
73      "socperf_client_impl.cpp",
74      "stylus_detector_callback.cpp",
75      "stylus_detector_default.cpp",
76      "stylus_detector_loader.cpp",
77      "stylus_detector_mgr.cpp",
78      "system_properties.cpp",
79      "text_translation_adapter.cpp",
80      "text_translation_loader.cpp",
81      "text_translation_mgr.cpp",
82      "thp_extra_manager_impl.cpp",
83      "thread_priority.cpp",
84      "trace_id_impl.cpp",
85      "view_data_wrap_ohos.cpp",
86      "want_wrap_ohos.cpp",
87      "window_utils.cpp",
88    ]
89
90    external_deps += [
91      "ability_runtime:app_manager",
92      "i18n:intl_util",
93      "init:libbegetutil",
94    ]
95
96    if (is_ohos_standard_system) {
97      sources += [
98        "resource_adapter_impl.cpp",
99        "resource_adapter_impl_v2.cpp",
100        "resource_convertor.cpp",
101        "resource_theme_style.cpp",
102      ]
103      deps = []
104
105      if (defined(global_parts_info) &&
106          defined(global_parts_info.resourceschedule_soc_perf)) {
107        external_deps += [ "soc_perf:socperf_client" ]
108        defines += [ "SOC_PERF_ENABLE" ]
109      }
110
111      if (defined(global_parts_info) && defined(
112              global_parts_info.resourceschedule_resource_schedule_service)) {
113        external_deps += [ "resource_schedule_service:ressched_client" ]
114        defines += [ "RESOURCE_SCHEDULE_SERVICE_ENABLE" ]
115      }
116
117      if (defined(resourceschedule_ffrt_support) &&
118          resourceschedule_ffrt_support) {
119        sources += [ "long_frame_report_impl.cpp" ]
120        external_deps += [ "ffrt:libffrt" ]
121      }
122
123      external_deps += [
124        "ability_base:view_data",
125        "ability_base:want",
126        "ability_runtime:abilitykit_native",
127        "graphic_2d:libframe_analyzer",
128        "image_framework:image",
129        "input:libmmi-client",
130        "napi:ace_napi",
131        "resource_management:global_resmgr",
132      ]
133      if (defined(config.accessibility_support) &&
134          config.accessibility_support) {
135        sources += [
136          "js_accessibility_manager.cpp",
137          "js_third_accessibility_hover_ng.cpp",
138          "js_third_provider_interaction_operation.cpp",
139        ]
140        deps += [ "$ace_root/frameworks/bridge/common/accessibility:bridge_accessibility_$platform" ]
141        external_deps += [
142          "accessibility:accessibility_common",
143          "accessibility:accessibilityclient",
144          "accessibility:accessibilityconfig",
145        ]
146      } else {
147        sources += [ "fake_accessibility_manager.cpp" ]
148      }
149      if (frame_trace_support) {
150        sources += [ "frame_trace_adapter_impl.cpp" ]
151        external_deps += [ "frame_aware_sched:frame_trace_intf" ]
152        defines += [ "FRAME_TRACE_ENABLE" ]
153      } else {
154        sources += [ "frame_trace_adapter_fake_impl.cpp" ]
155      }
156    } else {
157      external_deps += [ "multimedia_image:image" ]
158    }
159    sources += [
160      "background_task_helper_ohos.cpp",
161      "drawing_color_filter_ohos.cpp",
162      "drawing_lattice_ohos.cpp",
163      "file_uri_helper_ohos.cpp",
164      "image_packer_ohos.cpp",
165      "image_source_ohos.cpp",
166      "input_manager.cpp",
167      "mouse_style_ohos.cpp",
168      "navigation_route_ohos.cpp",
169      "page_url_checker_ohos.cpp",
170      "pixel_map_ohos.cpp",
171      "system_bar_style_ohos.cpp",
172    ]
173    external_deps += [
174      "ability_runtime:abilitykit_native",
175      "ability_runtime:app_manager",
176      "ability_runtime:wantagent_innerkits",
177      "app_file_service:fileuri_native",
178      "background_task_mgr:bgtaskmgr_innerkits",
179      "bundle_framework:appexecfwk_core",
180      "graphic_2d:2d_graphics",
181      "graphic_2d:drawing_napi_impl",
182      "graphic_2d:librender_service_client",
183      "hicollie:libhicollie",
184      "hisysevent:libhisysevent",
185      "hitrace:libhitracechain",
186      "safwk:system_ability_fwk",
187      "samgr:samgr_proxy",
188      "window_manager:libdm",
189      "window_manager:libwm",
190      "window_manager:scene_session",
191      "window_manager:window_native_kit",
192    ]
193
194    if (defined(config.hichecker_exists) && config.hichecker_exists) {
195      external_deps += [ "hichecker:libhichecker" ]
196    }
197    deps += [
198      "$ace_root/interfaces/inner_api/drawable_descriptor:drawable_descriptor",
199    ]
200
201    if (ability_runtime_graphics) {
202      external_deps += [ "image_framework:image_native" ]
203    }
204  }
205}
206
207foreach(item, ace_platforms) {
208  platform = item.name
209  if (platform == "ohos" || platform == "ohos_ng") {
210    ace_osal_ohos_source_set("ace_osal_ohos_${platform}") {
211      platform = item.name
212      assert(defined(platform) && platform != "", "platform must be defined")
213      defines = []
214      config = {
215      }
216
217      if (defined(item.config)) {
218        config = item.config
219      }
220      if (defined(config.defines)) {
221        defines = config.defines
222      }
223    }
224  }
225}
226