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/arkui/ace_engine/ace_config.gni") 16 17# build static 18template("ace_ohos_standard_source_set") { 19 forward_variables_from(invoker, "*") 20 21 ohos_source_set(target_name) { 22 subsystem_name = ace_engine_subsystem 23 part_name = ace_engine_part 24 defines += invoker.defines 25 cflags_cc += invoker.cflags_cc 26 27 sources = [ 28 "$ace_root/adapter/ohos/entrance/ace_ability.cpp", 29 "$ace_root/adapter/ohos/entrance/ace_application_info.cpp", 30 "$ace_root/adapter/ohos/entrance/ace_container.cpp", 31 "$ace_root/adapter/ohos/entrance/ace_data_ability.cpp", 32 "$ace_root/adapter/ohos/entrance/ace_form_ability.cpp", 33 "$ace_root/adapter/ohos/entrance/ace_new_pipe_judgement.cpp", 34 "$ace_root/adapter/ohos/entrance/ace_service_ability.cpp", 35 "$ace_root/adapter/ohos/entrance/ace_view_ohos.cpp", 36 "$ace_root/adapter/ohos/entrance/capability_registry.cpp", 37 "$ace_root/adapter/ohos/entrance/data_ability_helper_standard.cpp", 38 "$ace_root/adapter/ohos/entrance/dialog_container.cpp", 39 "$ace_root/adapter/ohos/entrance/file_asset_provider_impl.cpp", 40 "$ace_root/adapter/ohos/entrance/form_utils_impl.cpp", 41 "$ace_root/adapter/ohos/entrance/hap_asset_provider_impl.cpp", 42 "$ace_root/adapter/ohos/entrance/mmi_event_convertor.cpp", 43 "$ace_root/adapter/ohos/entrance/navigation_controller_helper.cpp", 44 "$ace_root/adapter/ohos/entrance/pa_container.cpp", 45 "$ace_root/adapter/ohos/entrance/plugin_utils_impl.cpp", 46 "$ace_root/adapter/ohos/entrance/subwindow/subwindow_ohos.cpp", 47 "$ace_root/adapter/ohos/entrance/window/foldable_window_ohos.cpp", 48 49 # innerkits impl 50 "$ace_root/adapter/ohos/entrance/ui_content_impl.cpp", 51 "$ace_root/adapter/ohos/entrance/ui_event_impl.cpp", 52 "$ace_root/adapter/ohos/entrance/utils.cpp", 53 54 # drag window 55 "$ace_root/adapter/ohos/entrance/window/drag_window_ohos.cpp", 56 57 # ArkTs Card 58 "$ace_root/adapter/ohos/entrance/form_module_preloader.cpp", 59 60 # Dynamic Component 61 "$ace_root/adapter/ohos/entrance/dynamic_component/dynamic_component_renderer_impl.cpp", 62 "$ace_root/adapter/ohos/entrance/dynamic_component/uv_task_wrapper_impl.cpp", 63 ] 64 65 if (target_cpu == "arm64") { 66 defines += [ "_ARM64_" ] 67 } 68 if (current_os == "ohos" && current_cpu == "x86_64") { 69 defines += [ "SIMULATOR_64" ] 70 } 71 72 configs = [ 73 "$ace_root:ace_config", 74 "//third_party/icu/icu4c:icu_config", 75 ] 76 77 if (defined(config.enable_rosen_backend) && config.enable_rosen_backend) { 78 configs += [ 79 "//foundation/graphic/graphic_2d/rosen/modules/render_service_base:export_config", 80 "//foundation/graphic/graphic_2d/rosen/modules/render_service_client:render_service_client_config", 81 ] 82 } 83 84 include_dirs = [ 85 "$ability_runtime_inner_api_path/runtime/include/", 86 "$ability_runtime_napi_path/featureAbility", 87 "//commonlibrary/c_utils/base/include", 88 "//foundation/arkui/napi/interfaces/kits", 89 "//foundation/arkui/napi/native_engine", 90 "//foundation/window/window_manager/interfaces/innerkits", 91 "//foundation/graphic/graphic_2d/rosen/modules/2d_engine", 92 "//foundation/graphic/graphic_2d/rosen/modules/2d_graphics/src/drawing/engine_adapter", 93 "//third_party/node/src", 94 ] 95 96 deps = [ "$skia_root_new:skia_$platform" ] 97 98 deps += [ 99 "$ace_root/adapter/ohos/capability:ace_capability_ohos", 100 "$ace_root/interfaces/inner_api/ace:ace_uicontent", 101 "//third_party/zlib:shared_libz", 102 ] 103 104 external_deps = [ 105 "ability_base:base", 106 "ability_base:configuration", 107 "ability_base:extractortool", 108 "ability_base:view_data", 109 "ability_base:want", 110 "ability_runtime:ability_context_native", 111 "ability_runtime:ability_manager", 112 "ability_runtime:abilitykit_native", 113 "ability_runtime:auto_fill_manager", 114 "ability_runtime:data_ability_helper", 115 "bundle_framework:appexecfwk_core", 116 "common_event_service:cesfwk_innerkits", 117 "data_share:datashare_consumer", 118 "ets_runtime:libark_jsruntime", 119 "eventhandler:libeventhandler", 120 "form_fwk:fmskit_native", 121 "form_fwk:form_manager", 122 "graphic_2d:2d_graphics", 123 "graphic_2d:librender_service_client", 124 "i18n:intl_util", 125 "input:libmmi-client", 126 "ipc:ipc_core", 127 "ipc:ipc_napi", 128 "napi:ace_napi", 129 "preferences:native_preferences", 130 "relational_store:native_dataability", 131 "relational_store:native_rdb", 132 "resource_management:global_resmgr", 133 "window_manager:libdm", 134 "window_manager:libwm", 135 "window_manager:libwsutils", 136 "window_manager:scene_session", 137 "window_manager:screen_session_manager_client", 138 ] 139 140 if (defined(config.media_library_exists) && config.media_library_exists) { 141 include_dirs += [ "//foundation/multimedia/media_library/interfaces/inner_api/media_library_helper/include" ] 142 external_deps += [ "media_library:media_library_manager" ] 143 } 144 145 if (enable_graphic_text_gine) { 146 external_deps += [ "graphic_2d:rosen_text" ] 147 } 148 } 149} 150 151foreach(item, ace_platforms) { 152 platform = item.name 153 if (platform == "ohos" || platform == "ohos_ng") { 154 ace_ohos_standard_source_set("ace_ohos_standard_entrance_${platform}") { 155 platform = item.name 156 defines = [] 157 cflags_cc = [] 158 config = { 159 } 160 161 if (defined(item.config)) { 162 config = item.config 163 } 164 165 if (defined(config.defines)) { 166 defines = config.defines 167 } 168 169 if (defined(config.cflags_cc)) { 170 cflags_cc = config.cflags_cc 171 } 172 } 173 } 174} 175