• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_lite: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    ]
54
55    sources = [
56      "ace_checker.cpp",
57      "ace_engine_ext.cpp",
58      "ace_trace.cpp",
59      "anr_thread.cpp",
60      "app_bar_helper_impl.cpp",
61      "event_report.cpp",
62      "exception_handler.cpp",
63      "frame_report.cpp",
64      "layout_inspector.cpp",
65      "log_wrapper.cpp",
66      "modal_ui_extension_impl.cpp",
67      "ressched_report.cpp",
68      "socperf_client_impl.cpp",
69      "system_properties.cpp",
70      "trace_id_impl.cpp",
71      "want_wrap_ohos.cpp",
72    ]
73
74    external_deps += [ "init:libbegetutil" ]
75
76    if (is_ohos_standard_system) {
77      sources += [
78        "resource_adapter_impl.cpp",
79        "resource_convertor.cpp",
80        "resource_theme_style.cpp",
81      ]
82      deps = [ "$ace_flutter_engine_root/icu:ace_libicu_ohos" ]
83
84      if (ace_use_new_skia) {
85        deps += [ "$skia_root_new:skia_ohos" ]
86      } else {
87        deps += [ "$ace_flutter_engine_root/skia:ace_skia_ohos" ]
88      }
89
90      if (defined(global_parts_info) &&
91          defined(global_parts_info.resourceschedule_soc_perf)) {
92        external_deps += [ "soc_perf:socperf_client" ]
93        defines += [ "SOC_PERF_ENABLE" ]
94      }
95
96      external_deps += [
97        "ability_base:want",
98        "ability_runtime:abilitykit_native",
99        "image_framework:image",
100        "input:libmmi-client",
101        "napi:ace_napi",
102        "netmanager_base:net_conn_manager_if",
103        "resource_management:global_resmgr",
104      ]
105      if (defined(config.accessibility_support) &&
106          config.accessibility_support) {
107        sources += [ "js_accessibility_manager.cpp" ]
108        deps += [ "$ace_root/frameworks/bridge/common/accessibility:bridge_accessibility_ohos" ]
109        external_deps += [
110          "ability_runtime:ability_manager",
111          "accessibility:accessibilityclient",
112          "accessibility:accessibilityconfig",
113        ]
114      } else {
115        sources += [ "fake_accessibility_manager.cpp" ]
116      }
117      if (frame_trace_support) {
118        include_dirs += [ "//foundation/resourceschedule/frame_aware_sched/interfaces/innerkits/frameintf" ]
119        sources += [ "frame_trace_adapter_impl.cpp" ]
120        external_deps += [ "frame_aware_sched:frame_trace_intf" ]
121      } else {
122        sources += [ "frame_trace_adapter_fake_impl.cpp" ]
123      }
124    } else {
125      external_deps += [ "multimedia_image:image" ]
126    }
127    sources += [
128      "download_manager_ohos.cpp",
129      "file_uri_helper_ohos.cpp",
130      "image_source_ohos.cpp",
131      "mouse_style_ohos.cpp",
132      "page_url_checker_ohos.cpp",
133      "pixel_map_ohos.cpp",
134    ]
135    external_deps += [
136      "ability_runtime:abilitykit_native",
137      "ability_runtime:runtime",
138      "app_file_service:fileuri_native",
139      "bundle_framework:appexecfwk_base",
140      "bundle_framework:appexecfwk_core",
141      "graphic_2d:librender_service_client",
142      "hichecker:libhichecker",
143      "hicollie:libhicollie",
144      "hisysevent:libhisysevent",
145      "hitrace:libhitracechain",
146      "safwk:system_ability_fwk",
147      "samgr:samgr_proxy",
148      "window_manager:scene_session",
149    ]
150    deps += [
151      "$ace_root/interfaces/inner_api/drawable_descriptor:drawable_descriptor",
152    ]
153
154    if (ability_runtime_graphics) {
155      external_deps += [
156        "image_framework:image_native",
157        "window_manager:libdm",
158      ]
159    }
160  }
161}
162
163foreach(item, ace_platforms) {
164  platform = item.name
165  if (platform == "ohos") {
166    ace_osal_ohos_source_set("ace_osal_ohos") {
167      defines = []
168      config = {
169      }
170
171      if (defined(item.config)) {
172        config = item.config
173      }
174      if (defined(config.defines)) {
175        defines = config.defines
176      }
177    }
178  }
179}
180