123b3eb3cSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 223b3eb3cSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 323b3eb3cSopenharmony_ci# you may not use this file except in compliance with the License. 423b3eb3cSopenharmony_ci# You may obtain a copy of the License at 523b3eb3cSopenharmony_ci# 623b3eb3cSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 723b3eb3cSopenharmony_ci# 823b3eb3cSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 923b3eb3cSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1023b3eb3cSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1123b3eb3cSopenharmony_ci# See the License for the specific language governing permissions and 1223b3eb3cSopenharmony_ci# limitations under the License. 1323b3eb3cSopenharmony_ci 1423b3eb3cSopenharmony_ciimport("//build/ohos.gni") 1523b3eb3cSopenharmony_ciimport("//foundation/arkui/ace_engine/ace_config.gni") 1623b3eb3cSopenharmony_ci 1723b3eb3cSopenharmony_ci# build framework bridge 1823b3eb3cSopenharmony_citemplate("framework_bridge") { 1923b3eb3cSopenharmony_ci forward_variables_from(invoker, "*") 2023b3eb3cSopenharmony_ci 2123b3eb3cSopenharmony_ci ohos_source_set(target_name) { 2223b3eb3cSopenharmony_ci if (current_os == "ohos") { 2323b3eb3cSopenharmony_ci sanitize = { 2423b3eb3cSopenharmony_ci integer_overflow = true 2523b3eb3cSopenharmony_ci boundary_sanitize = true 2623b3eb3cSopenharmony_ci debug = ace_sanitize_debug 2723b3eb3cSopenharmony_ci } 2823b3eb3cSopenharmony_ci } 2923b3eb3cSopenharmony_ci subsystem_name = ace_engine_subsystem 3023b3eb3cSopenharmony_ci part_name = ace_engine_part 3123b3eb3cSopenharmony_ci configs = [ "$ace_root:ace_config" ] 3223b3eb3cSopenharmony_ci 3323b3eb3cSopenharmony_ci deps = [ 3423b3eb3cSopenharmony_ci "declarative_frontend:declarative_frontend_$platform", 3523b3eb3cSopenharmony_ci 3623b3eb3cSopenharmony_ci # bridge source 3723b3eb3cSopenharmony_ci "card_frontend:card_frontend_$platform", 3823b3eb3cSopenharmony_ci "codec:data_codec", 3923b3eb3cSopenharmony_ci "common:bridge_common_$platform", 4023b3eb3cSopenharmony_ci "common/accessibility:bridge_accessibility_$platform", 4123b3eb3cSopenharmony_ci "js_frontend:js_frontend_$platform", 4223b3eb3cSopenharmony_ci "plugin_frontend:plugin_frontend_$platform", 4323b3eb3cSopenharmony_ci ] 4423b3eb3cSopenharmony_ci 4523b3eb3cSopenharmony_ci if (defined(config.js_pa_support) && config.js_pa_support) { 4623b3eb3cSopenharmony_ci deps += [ "$ace_root/${config.pa_engine_path}:pa_backend_$platform" ] 4723b3eb3cSopenharmony_ci } 4823b3eb3cSopenharmony_ci if (use_hilog) { 4923b3eb3cSopenharmony_ci external_deps = [ "hilog:libhilog" ] 5023b3eb3cSopenharmony_ci } 5123b3eb3cSopenharmony_ci } 5223b3eb3cSopenharmony_ci} 5323b3eb3cSopenharmony_ci 5423b3eb3cSopenharmony_ci# build ng framework bridge 5523b3eb3cSopenharmony_citemplate("framework_bridge_ng") { 5623b3eb3cSopenharmony_ci forward_variables_from(invoker, "*") 5723b3eb3cSopenharmony_ci 5823b3eb3cSopenharmony_ci ohos_source_set(target_name) { 5923b3eb3cSopenharmony_ci if (current_os == "ohos") { 6023b3eb3cSopenharmony_ci sanitize = { 6123b3eb3cSopenharmony_ci integer_overflow = true 6223b3eb3cSopenharmony_ci boundary_sanitize = true 6323b3eb3cSopenharmony_ci debug = ace_sanitize_debug 6423b3eb3cSopenharmony_ci } 6523b3eb3cSopenharmony_ci } 6623b3eb3cSopenharmony_ci subsystem_name = ace_engine_subsystem 6723b3eb3cSopenharmony_ci part_name = ace_engine_part 6823b3eb3cSopenharmony_ci configs = [ "$ace_root:ace_config" ] 6923b3eb3cSopenharmony_ci 7023b3eb3cSopenharmony_ci deps = [ 7123b3eb3cSopenharmony_ci "codec:data_codec", 7223b3eb3cSopenharmony_ci "common:bridge_common_ng_$platform", 7323b3eb3cSopenharmony_ci "common/accessibility:bridge_accessibility_$platform", 7423b3eb3cSopenharmony_ci "declarative_frontend:declarative_frontend_$platform", 7523b3eb3cSopenharmony_ci ] 7623b3eb3cSopenharmony_ci 7723b3eb3cSopenharmony_ci if (defined(config.js_pa_support) && config.js_pa_support) { 7823b3eb3cSopenharmony_ci deps += [ "$ace_root/${config.pa_engine_path}:pa_backend_$platform" ] 7923b3eb3cSopenharmony_ci } 8023b3eb3cSopenharmony_ci if (use_hilog) { 8123b3eb3cSopenharmony_ci external_deps = [ "hilog:libhilog" ] 8223b3eb3cSopenharmony_ci } 8323b3eb3cSopenharmony_ci } 8423b3eb3cSopenharmony_ci} 8523b3eb3cSopenharmony_ci 8623b3eb3cSopenharmony_ciforeach(item, ace_platforms) { 8723b3eb3cSopenharmony_ci framework_bridge("framework_bridge_" + item.name) { 8823b3eb3cSopenharmony_ci platform = item.name 8923b3eb3cSopenharmony_ci config = { 9023b3eb3cSopenharmony_ci } 9123b3eb3cSopenharmony_ci 9223b3eb3cSopenharmony_ci if (defined(item.config)) { 9323b3eb3cSopenharmony_ci config = item.config 9423b3eb3cSopenharmony_ci } 9523b3eb3cSopenharmony_ci } 9623b3eb3cSopenharmony_ci 9723b3eb3cSopenharmony_ci framework_bridge_ng("framework_bridge_ng_" + item.name) { 9823b3eb3cSopenharmony_ci platform = item.name 9923b3eb3cSopenharmony_ci config = { 10023b3eb3cSopenharmony_ci } 10123b3eb3cSopenharmony_ci 10223b3eb3cSopenharmony_ci if (defined(item.config)) { 10323b3eb3cSopenharmony_ci config = item.config 10423b3eb3cSopenharmony_ci } 10523b3eb3cSopenharmony_ci } 10623b3eb3cSopenharmony_ci} 107