1# Copyright (c) 2021 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("//arkcompiler/ets_runtime/js_runtime_config.gni") 15 16if (ark_standalone_build) { 17 if (is_ohos && run_with_qemu) { 18 import("$build_root/toolchain/ark/ark_toolchain.gni") 19 copy("copy_libcxxso_for_qemu") { 20 sources = [ "${libcxxso_file}" ] 21 outputs = [ "${root_out_dir}/${so_dir_for_qemu}/lib/libc++.so" ] 22 } 23 } 24} 25 26ohos_executable("ark_js_vm") { 27 if (enable_sanitize) { 28 sanitize = { 29 ubsan = true 30 } 31 } 32 33 sources = [ "main.cpp" ] 34 35 configs = [ 36 "$js_root:ark_jsruntime_common_config", 37 "$js_root:ark_jsruntime_public_config", 38 ] 39 40 external_deps = [] 41 deps = [ "$js_root:libark_jsruntime" ] 42 if (ark_standalone_build) { 43 if (run_with_qemu && is_ohos) { 44 deps += [ 45 ":copy_libcxxso_for_qemu", 46 "$build_root/third_party_gn/bounds_checking_function:libsec_shared_for_qemu", 47 ] 48 if (use_musl) { 49 deps += 50 [ "$build_root/third_party_gn/musl:soft_create_linker_for_qemu" ] 51 } 52 } 53 } 54 55 if (!is_arkui_x) { 56 external_deps += [ 57 "runtime_core:arkfile_header_deps", 58 "runtime_core:libarkbase_static", 59 ] 60 } else { 61 deps += [ 62 "$ark_root/libpandabase:libarkbase_static", 63 "$ark_root/libpandafile:arkfile_header_deps", 64 ] 65 } 66 67 # hiviewdfx libraries 68 external_deps += hiviewdfx_ext_deps 69 deps += hiviewdfx_deps 70 71 install_enable = false 72 73 part_name = "ets_runtime" 74 subsystem_name = "arkcompiler" 75} 76