1e509ee18Sopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd.
2e509ee18Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e509ee18Sopenharmony_ci# you may not use this file except in compliance with the License.
4e509ee18Sopenharmony_ci# You may obtain a copy of the License at
5e509ee18Sopenharmony_ci#
6e509ee18Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e509ee18Sopenharmony_ci#
8e509ee18Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e509ee18Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e509ee18Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e509ee18Sopenharmony_ci# See the License for the specific language governing permissions and
12e509ee18Sopenharmony_ci# limitations under the License.
13e509ee18Sopenharmony_ci
14e509ee18Sopenharmony_ciimport("//arkcompiler/toolchain/toolchain.gni")
15e509ee18Sopenharmony_ci
16e509ee18Sopenharmony_ciohos_source_set("libark_client_set") {
17e509ee18Sopenharmony_ci  stack_protector_ret = false
18e509ee18Sopenharmony_ci  defines = []
19e509ee18Sopenharmony_ci  deps = []
20e509ee18Sopenharmony_ci
21e509ee18Sopenharmony_ci  # hiviewdfx libraries
22e509ee18Sopenharmony_ci  external_deps = hiviewdfx_ext_deps
23e509ee18Sopenharmony_ci  deps += hiviewdfx_deps
24e509ee18Sopenharmony_ci
25e509ee18Sopenharmony_ci  include_dirs = [
26e509ee18Sopenharmony_ci    "..",
27e509ee18Sopenharmony_ci    "$toolchain_root/websocket",
28e509ee18Sopenharmony_ci  ]
29e509ee18Sopenharmony_ci
30e509ee18Sopenharmony_ci  sources = [
31e509ee18Sopenharmony_ci    "../utils/utils.cpp",
32e509ee18Sopenharmony_ci    "domain/debugger_client.cpp",
33e509ee18Sopenharmony_ci    "domain/heapprofiler_client.cpp",
34e509ee18Sopenharmony_ci    "domain/profiler_client.cpp",
35e509ee18Sopenharmony_ci    "domain/runtime_client.cpp",
36e509ee18Sopenharmony_ci    "domain/test_client.cpp",
37e509ee18Sopenharmony_ci    "manager/breakpoint_manager.cpp",
38e509ee18Sopenharmony_ci    "manager/domain_manager.cpp",
39e509ee18Sopenharmony_ci    "manager/source_manager.cpp",
40e509ee18Sopenharmony_ci    "manager/stack_manager.cpp",
41e509ee18Sopenharmony_ci    "manager/variable_manager.cpp",
42e509ee18Sopenharmony_ci    "manager/watch_manager.cpp",
43e509ee18Sopenharmony_ci    "session/session.cpp",
44e509ee18Sopenharmony_ci    "tcpServer/tcp_server.cpp",
45e509ee18Sopenharmony_ci    "utils/cli_command.cpp",
46e509ee18Sopenharmony_ci  ]
47e509ee18Sopenharmony_ci
48e509ee18Sopenharmony_ci  deps += [
49e509ee18Sopenharmony_ci    "$toolchain_root/websocket:websocket_client",
50e509ee18Sopenharmony_ci    "..:libark_ecma_debugger",
51e509ee18Sopenharmony_ci  ]
52e509ee18Sopenharmony_ci
53e509ee18Sopenharmony_ci  external_deps += [
54e509ee18Sopenharmony_ci    "bounds_checking_function:libsec_shared",
55e509ee18Sopenharmony_ci    "cJSON:cjson_static",
56e509ee18Sopenharmony_ci    "ets_runtime:libark_jsruntime",
57e509ee18Sopenharmony_ci    "libuv:uv",
58e509ee18Sopenharmony_ci  ]
59e509ee18Sopenharmony_ci
60e509ee18Sopenharmony_ci  configs = [ "../..:ark_toolchain_common_config" ]
61e509ee18Sopenharmony_ci
62e509ee18Sopenharmony_ci  cflags_cc = [ "-Wno-vla-extension" ]
63e509ee18Sopenharmony_ci
64e509ee18Sopenharmony_ci  subsystem_name = "arkcompiler"
65e509ee18Sopenharmony_ci  part_name = "toolchain"
66e509ee18Sopenharmony_ci}
67e509ee18Sopenharmony_ci
68e509ee18Sopenharmony_ciohos_shared_library("libark_client") {
69e509ee18Sopenharmony_ci  stack_protector_ret = false
70e509ee18Sopenharmony_ci  deps = [ ":libark_client_set" ]
71e509ee18Sopenharmony_ci
72e509ee18Sopenharmony_ci  install_enable = false
73e509ee18Sopenharmony_ci  if (!is_mingw && !is_mac) {
74e509ee18Sopenharmony_ci    output_extension = "so"
75e509ee18Sopenharmony_ci  }
76e509ee18Sopenharmony_ci  external_deps = []
77e509ee18Sopenharmony_ci  external_deps += [
78e509ee18Sopenharmony_ci    "bounds_checking_function:libsec_shared",
79e509ee18Sopenharmony_ci    "cJSON:cjson_static",
80e509ee18Sopenharmony_ci  ]
81e509ee18Sopenharmony_ci  if (enable_hilog) {
82e509ee18Sopenharmony_ci    external_deps += [ "hilog:libhilog" ]
83e509ee18Sopenharmony_ci  }
84e509ee18Sopenharmony_ci
85e509ee18Sopenharmony_ci  subsystem_name = "test"
86e509ee18Sopenharmony_ci}
87