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