14514f5e3Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
24514f5e3Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
34514f5e3Sopenharmony_ci# you may not use this file except in compliance with the License.
44514f5e3Sopenharmony_ci# You may obtain a copy of the License at
54514f5e3Sopenharmony_ci#
64514f5e3Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
74514f5e3Sopenharmony_ci#
84514f5e3Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
94514f5e3Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
104514f5e3Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
114514f5e3Sopenharmony_ci# See the License for the specific language governing permissions and
124514f5e3Sopenharmony_ci# limitations under the License.
134514f5e3Sopenharmony_ci
144514f5e3Sopenharmony_ciimport("//arkcompiler/ets_runtime/js_runtime_config.gni")
154514f5e3Sopenharmony_ci
164514f5e3Sopenharmony_ciohos_executable("profdump") {
174514f5e3Sopenharmony_ci  if (enable_sanitize) {
184514f5e3Sopenharmony_ci    sanitize = {
194514f5e3Sopenharmony_ci      ubsan = true
204514f5e3Sopenharmony_ci    }
214514f5e3Sopenharmony_ci  }
224514f5e3Sopenharmony_ci  sources = [ "main.cpp" ]
234514f5e3Sopenharmony_ci
244514f5e3Sopenharmony_ci  deps = [
254514f5e3Sopenharmony_ci    "$js_root:libark_js_intl_set",
264514f5e3Sopenharmony_ci    "$js_root:libark_jsruntime_set",
274514f5e3Sopenharmony_ci    "$js_root/ecmascript/compiler:libark_mock_stub_set",
284514f5e3Sopenharmony_ci  ]
294514f5e3Sopenharmony_ci  external_deps = [
304514f5e3Sopenharmony_ci    "runtime_core:arkfile_header_deps",
314514f5e3Sopenharmony_ci    "runtime_core:libarkbase_static",
324514f5e3Sopenharmony_ci    "runtime_core:libarkfile_static",
334514f5e3Sopenharmony_ci    "zlib:libz",
344514f5e3Sopenharmony_ci  ]
354514f5e3Sopenharmony_ci
364514f5e3Sopenharmony_ci  configs = [
374514f5e3Sopenharmony_ci    "$js_root:ark_jsruntime_common_config",
384514f5e3Sopenharmony_ci    "$js_root:ark_jsruntime_public_config",
394514f5e3Sopenharmony_ci  ]
404514f5e3Sopenharmony_ci
414514f5e3Sopenharmony_ci  if (target_os == "ios") {
424514f5e3Sopenharmony_ci    deps += [
434514f5e3Sopenharmony_ci      "$ark_third_party_root/icu/icu4c:static_icui18n",
444514f5e3Sopenharmony_ci      "$ark_third_party_root/icu/icu4c:static_icuuc",
454514f5e3Sopenharmony_ci    ]
464514f5e3Sopenharmony_ci  } else {
474514f5e3Sopenharmony_ci    external_deps += [
484514f5e3Sopenharmony_ci      "icu:shared_icui18n",
494514f5e3Sopenharmony_ci      "icu:shared_icuuc",
504514f5e3Sopenharmony_ci    ]
514514f5e3Sopenharmony_ci  }
524514f5e3Sopenharmony_ci
534514f5e3Sopenharmony_ci  # hiviewdfx libraries
544514f5e3Sopenharmony_ci  external_deps += hiviewdfx_ext_deps
554514f5e3Sopenharmony_ci  deps += hiviewdfx_deps
564514f5e3Sopenharmony_ci
574514f5e3Sopenharmony_ci  install_enable = true
584514f5e3Sopenharmony_ci
594514f5e3Sopenharmony_ci  part_name = "ets_runtime"
604514f5e3Sopenharmony_ci  subsystem_name = "arkcompiler"
614514f5e3Sopenharmony_ci}
62