180922886Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 280922886Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 380922886Sopenharmony_ci# you may not use this file except in compliance with the License. 480922886Sopenharmony_ci# You may obtain a copy of the License at 580922886Sopenharmony_ci# 680922886Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 780922886Sopenharmony_ci# 880922886Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 980922886Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 1080922886Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1180922886Sopenharmony_ci# See the License for the specific language governing permissions and 1280922886Sopenharmony_ci# limitations under the License. 1380922886Sopenharmony_ci 1480922886Sopenharmony_ciimport("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni") 1580922886Sopenharmony_ciimport("//build/ohos.gni") 1680922886Sopenharmony_ciimport("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") 1780922886Sopenharmony_ciimport("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") 1880922886Sopenharmony_ciimport("//foundation/multimedia/av_session/config.gni") 1980922886Sopenharmony_ci 2080922886Sopenharmony_cies2abc_gen_abc("gen_avpicker_abc") { 2180922886Sopenharmony_ci if (use_mingw_win || use_mac || use_linux) { 2280922886Sopenharmony_ci src_js = rebase_path("avpicker_mock.js") 2380922886Sopenharmony_ci dst_file = rebase_path(target_out_dir + "/avpicker.abc") 2480922886Sopenharmony_ci in_puts = [ "avpicker_mock.js" ] 2580922886Sopenharmony_ci out_puts = [ target_out_dir + "/avpicker.abc" ] 2680922886Sopenharmony_ci extra_args = [ "--module" ] 2780922886Sopenharmony_ci } else { 2880922886Sopenharmony_ci src_js = rebase_path("avpicker.js") 2980922886Sopenharmony_ci dst_file = rebase_path(target_out_dir + "/avpicker.abc") 3080922886Sopenharmony_ci in_puts = [ "avpicker.js" ] 3180922886Sopenharmony_ci out_puts = [ target_out_dir + "/avpicker.abc" ] 3280922886Sopenharmony_ci extra_args = [ "--module" ] 3380922886Sopenharmony_ci } 3480922886Sopenharmony_ci} 3580922886Sopenharmony_ci 3680922886Sopenharmony_cigen_js_obj("avpicker_abc") { 3780922886Sopenharmony_ci input = 3880922886Sopenharmony_ci get_label_info(":gen_avpicker_abc", "target_out_dir") + "/avpicker.abc" 3980922886Sopenharmony_ci output = target_out_dir + "/avpicker_abc.o" 4080922886Sopenharmony_ci dep = ":gen_avpicker_abc" 4180922886Sopenharmony_ci} 4280922886Sopenharmony_ci 4380922886Sopenharmony_cigen_obj("avpicker_abc_preview") { 4480922886Sopenharmony_ci input = 4580922886Sopenharmony_ci get_label_info(":gen_avpicker_abc", "target_out_dir") + "/avpicker.abc" 4680922886Sopenharmony_ci output = target_out_dir + "/avpicker_abc.c" 4780922886Sopenharmony_ci snapshot_dep = [ ":gen_avpicker_abc" ] 4880922886Sopenharmony_ci} 4980922886Sopenharmony_ci 5080922886Sopenharmony_ciohos_shared_library("avcastpicker") { 5180922886Sopenharmony_ci sources = [ "avpicker.cpp" ] 5280922886Sopenharmony_ci 5380922886Sopenharmony_ci sanitize = { 5480922886Sopenharmony_ci cfi = true 5580922886Sopenharmony_ci cfi_cross_dso = true 5680922886Sopenharmony_ci debug = false 5780922886Sopenharmony_ci } 5880922886Sopenharmony_ci 5980922886Sopenharmony_ci if (use_mingw_win || use_mac || use_linux) { 6080922886Sopenharmony_ci deps = [ ":gen_obj_src_avpicker_abc_preview" ] 6180922886Sopenharmony_ci } else { 6280922886Sopenharmony_ci deps = [ ":avpicker_abc" ] 6380922886Sopenharmony_ci } 6480922886Sopenharmony_ci defines = [] 6580922886Sopenharmony_ci if (use_mingw_win) { 6680922886Sopenharmony_ci defines += [ "WINDOWS_PLATFORM" ] 6780922886Sopenharmony_ci } else if (use_mac) { 6880922886Sopenharmony_ci defines += [ "MAC_PLATFORM" ] 6980922886Sopenharmony_ci } else if (use_linux) { 7080922886Sopenharmony_ci defines += [ "LINUX_PLATFORM" ] 7180922886Sopenharmony_ci } 7280922886Sopenharmony_ci 7380922886Sopenharmony_ci external_deps = [ "napi:ace_napi" ] 7480922886Sopenharmony_ci 7580922886Sopenharmony_ci relative_install_dir = "module/multimedia" 7680922886Sopenharmony_ci subsystem_name = "multimedia" 7780922886Sopenharmony_ci part_name = "av_session" 7880922886Sopenharmony_ci} 7980922886Sopenharmony_ci 8080922886Sopenharmony_ci################################################################## 8180922886Sopenharmony_ci 8280922886Sopenharmony_cies2abc_gen_abc("gen_avpickerparam_abc") { 8380922886Sopenharmony_ci if (use_mingw_win || use_mac || use_linux) { 8480922886Sopenharmony_ci src_js = rebase_path("avpickerparam_mock.js") 8580922886Sopenharmony_ci dst_file = rebase_path(target_out_dir + "/avpickerparam.abc") 8680922886Sopenharmony_ci in_puts = [ "avpickerparam_mock.js" ] 8780922886Sopenharmony_ci out_puts = [ target_out_dir + "/avpickerparam.abc" ] 8880922886Sopenharmony_ci extra_args = [ "--module" ] 8980922886Sopenharmony_ci } else { 9080922886Sopenharmony_ci src_js = rebase_path("avpickerparam.js") 9180922886Sopenharmony_ci dst_file = rebase_path(target_out_dir + "/avpickerparam.abc") 9280922886Sopenharmony_ci in_puts = [ "avpickerparam.js" ] 9380922886Sopenharmony_ci out_puts = [ target_out_dir + "/avpickerparam.abc" ] 9480922886Sopenharmony_ci extra_args = [ "--module" ] 9580922886Sopenharmony_ci } 9680922886Sopenharmony_ci} 9780922886Sopenharmony_ci 9880922886Sopenharmony_cigen_js_obj("avpickerparam_abc") { 9980922886Sopenharmony_ci input = get_label_info(":gen_avpickerparam_abc", "target_out_dir") + 10080922886Sopenharmony_ci "/avpickerparam.abc" 10180922886Sopenharmony_ci output = target_out_dir + "/avpickerparam_abc.o" 10280922886Sopenharmony_ci dep = ":gen_avpickerparam_abc" 10380922886Sopenharmony_ci} 10480922886Sopenharmony_ci 10580922886Sopenharmony_cigen_obj("avpickerparam_abc_preview") { 10680922886Sopenharmony_ci input = get_label_info(":gen_avpickerparam_abc", "target_out_dir") + 10780922886Sopenharmony_ci "/avpickerparam.abc" 10880922886Sopenharmony_ci output = target_out_dir + "/avpickerparam_abc.c" 10980922886Sopenharmony_ci snapshot_dep = [ ":gen_avpickerparam_abc" ] 11080922886Sopenharmony_ci} 11180922886Sopenharmony_ci 11280922886Sopenharmony_ciohos_shared_library("avcastpickerparam") { 11380922886Sopenharmony_ci sources = [ "avpickerparam.cpp" ] 11480922886Sopenharmony_ci 11580922886Sopenharmony_ci stack_protector_ret = true 11680922886Sopenharmony_ci sanitize = { 11780922886Sopenharmony_ci cfi = true 11880922886Sopenharmony_ci cfi_cross_dso = true 11980922886Sopenharmony_ci debug = false 12080922886Sopenharmony_ci } 12180922886Sopenharmony_ci 12280922886Sopenharmony_ci if (use_mingw_win || use_mac || use_linux) { 12380922886Sopenharmony_ci deps = [ ":gen_obj_src_avpickerparam_abc_preview" ] 12480922886Sopenharmony_ci } else { 12580922886Sopenharmony_ci deps = [ ":avpickerparam_abc" ] 12680922886Sopenharmony_ci } 12780922886Sopenharmony_ci defines = [] 12880922886Sopenharmony_ci if (use_mingw_win) { 12980922886Sopenharmony_ci defines += [ "WINDOWS_PLATFORM" ] 13080922886Sopenharmony_ci } else if (use_mac) { 13180922886Sopenharmony_ci defines += [ "MAC_PLATFORM" ] 13280922886Sopenharmony_ci } else if (use_linux) { 13380922886Sopenharmony_ci defines += [ "LINUX_PLATFORM" ] 13480922886Sopenharmony_ci } 13580922886Sopenharmony_ci 13680922886Sopenharmony_ci external_deps = [ "napi:ace_napi" ] 13780922886Sopenharmony_ci 13880922886Sopenharmony_ci relative_install_dir = "module/multimedia" 13980922886Sopenharmony_ci subsystem_name = "multimedia" 14080922886Sopenharmony_ci part_name = "av_session" 14180922886Sopenharmony_ci} 142