1b1994897Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd.
2b1994897Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3b1994897Sopenharmony_ci# you may not use this file except in compliance with the License.
4b1994897Sopenharmony_ci# You may obtain a copy of the License at
5b1994897Sopenharmony_ci#
6b1994897Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0
7b1994897Sopenharmony_ci#
8b1994897Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9b1994897Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10b1994897Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11b1994897Sopenharmony_ci# See the License for the specific language governing permissions and
12b1994897Sopenharmony_ci# limitations under the License.
13b1994897Sopenharmony_ci
14b1994897Sopenharmony_ciimport("//arkcompiler/runtime_core/ark_config.gni")
15b1994897Sopenharmony_ci
16b1994897Sopenharmony_ciforeach(plugin, enabled_plugins) {
17b1994897Sopenharmony_ci  print("plugin $plugin is enabled")
18b1994897Sopenharmony_ci}
19b1994897Sopenharmony_ci
20b1994897Sopenharmony_cigroup("arkcompiler_params") {
21b1994897Sopenharmony_ci  deps = [ "libpandafile:arkcompiler_params" ]
22b1994897Sopenharmony_ci}
23b1994897Sopenharmony_ci
24b1994897Sopenharmony_cigroup("ark_device_packages") {
25b1994897Sopenharmony_ci  deps = [ "$ark_root/verifier:libarkverifier" ]
26b1994897Sopenharmony_ci}
27b1994897Sopenharmony_ci
28b1994897Sopenharmony_cigroup("ark_packages") {
29b1994897Sopenharmony_ci  deps = []
30b1994897Sopenharmony_ci  if (host_os != "mac") {
31b1994897Sopenharmony_ci    deps += [
32b1994897Sopenharmony_ci      "$ark_root/libpandabase:libarkbase",
33b1994897Sopenharmony_ci      "$ark_root/libpandafile:libarkfile",
34b1994897Sopenharmony_ci      "$ark_root/libziparchive:libarkziparchive",
35b1994897Sopenharmony_ci    ]
36b1994897Sopenharmony_ci  }
37b1994897Sopenharmony_ci
38b1994897Sopenharmony_ci  foreach(plugin, enabled_plugins) {
39b1994897Sopenharmony_ci    deps += [ "$ark_root/plugins/$plugin:ark_packages" ]
40b1994897Sopenharmony_ci  }
41b1994897Sopenharmony_ci}
42b1994897Sopenharmony_ci
43b1994897Sopenharmony_cigroup("ark_host_linux_tools_packages") {
44b1994897Sopenharmony_ci  deps = []
45b1994897Sopenharmony_ci  if (host_os != "mac") {
46b1994897Sopenharmony_ci    deps += [
47b1994897Sopenharmony_ci      "$ark_root/abc2program:abc2prog(${host_toolchain})",
48b1994897Sopenharmony_ci      "$ark_root/disassembler:ark_disasm(${host_toolchain})",
49b1994897Sopenharmony_ci      "$ark_root/libpandabase:libarkbase(${host_toolchain})",
50b1994897Sopenharmony_ci      "$ark_root/libpandafile:libarkfile(${host_toolchain})",
51b1994897Sopenharmony_ci      "$ark_root/libziparchive:libarkziparchive(${host_toolchain})",
52b1994897Sopenharmony_ci      "$ark_root/verifier:ark_verifier(${host_toolchain})",
53b1994897Sopenharmony_ci    ]
54b1994897Sopenharmony_ci  }
55b1994897Sopenharmony_ci  foreach(plugin, enabled_plugins) {
56b1994897Sopenharmony_ci    deps += [ "$ark_root/plugins/$plugin:ark_host_linux_tools_packages" ]
57b1994897Sopenharmony_ci  }
58b1994897Sopenharmony_ci}
59b1994897Sopenharmony_ci
60b1994897Sopenharmony_cigroup("ark_host_windows_tools_packages") {
61b1994897Sopenharmony_ci  deps = []
62b1994897Sopenharmony_ci  if (host_os != "mac") {
63b1994897Sopenharmony_ci    deps += [
64b1994897Sopenharmony_ci      "$ark_root/abc2program:abc2prog($build_root/toolchain/mingw:mingw_x86_64)",
65b1994897Sopenharmony_ci      "$ark_root/disassembler:ark_disasm($build_root/toolchain/mingw:mingw_x86_64)",
66b1994897Sopenharmony_ci      "$ark_root/verifier:ark_verifier($build_root/toolchain/mingw:mingw_x86_64)",
67b1994897Sopenharmony_ci    ]
68b1994897Sopenharmony_ci  }
69b1994897Sopenharmony_ci
70b1994897Sopenharmony_ci  foreach(plugin, enabled_plugins) {
71b1994897Sopenharmony_ci    deps += [ "$ark_root/plugins/$plugin:ark_host_windows_tools_packages" ]
72b1994897Sopenharmony_ci  }
73b1994897Sopenharmony_ci}
74b1994897Sopenharmony_ci
75b1994897Sopenharmony_cigroup("ark_host_mac_tools_packages") {
76b1994897Sopenharmony_ci  deps = []
77b1994897Sopenharmony_ci  if (host_os == "mac") {
78b1994897Sopenharmony_ci    if (host_cpu == "arm64") {
79b1994897Sopenharmony_ci      deps += [
80b1994897Sopenharmony_ci        "$ark_root/abc2program:abc2prog($build_root/toolchain/mac:clang_arm64)",
81b1994897Sopenharmony_ci        "$ark_root/disassembler:ark_disasm($build_root/toolchain/mac:clang_arm64)",
82b1994897Sopenharmony_ci        "$ark_root/libpandabase:libarkbase($build_root/toolchain/mac:clang_arm64)",
83b1994897Sopenharmony_ci        "$ark_root/libpandafile:libarkfile($build_root/toolchain/mac:clang_arm64)",
84b1994897Sopenharmony_ci        "$ark_root/libziparchive:libarkziparchive($build_root/toolchain/mac:clang_arm64)",
85b1994897Sopenharmony_ci        "$ark_root/verifier:ark_verifier($build_root/toolchain/mac:clang_arm64)",
86b1994897Sopenharmony_ci      ]
87b1994897Sopenharmony_ci    } else {
88b1994897Sopenharmony_ci      deps += [
89b1994897Sopenharmony_ci        "$ark_root/abc2program:abc2prog($build_root/toolchain/mac:clang_x64)",
90b1994897Sopenharmony_ci        "$ark_root/disassembler:ark_disasm($build_root/toolchain/mac:clang_x64)",
91b1994897Sopenharmony_ci        "$ark_root/libpandabase:libarkbase($build_root/toolchain/mac:clang_x64)",
92b1994897Sopenharmony_ci        "$ark_root/libpandafile:libarkfile($build_root/toolchain/mac:clang_x64)",
93b1994897Sopenharmony_ci        "$ark_root/libziparchive:libarkziparchive($build_root/toolchain/mac:clang_x64)",
94b1994897Sopenharmony_ci        "$ark_root/verifier:ark_verifier($build_root/toolchain/mac:clang_x64)",
95b1994897Sopenharmony_ci      ]
96b1994897Sopenharmony_ci    }
97b1994897Sopenharmony_ci  }
98b1994897Sopenharmony_ci
99b1994897Sopenharmony_ci  foreach(plugin, enabled_plugins) {
100b1994897Sopenharmony_ci    deps += [ "$ark_root/plugins/$plugin:ark_host_mac_tools_packages" ]
101b1994897Sopenharmony_ci  }
102b1994897Sopenharmony_ci}
103b1994897Sopenharmony_ci
104b1994897Sopenharmony_ciif (!ark_standalone_build) {
105b1994897Sopenharmony_ci  group("ark_host_ohos_tools_packages") {
106b1994897Sopenharmony_ci    deps = []
107b1994897Sopenharmony_ci    if (host_os != "mac") {
108b1994897Sopenharmony_ci      deps += [ "$ark_root/disassembler:ark_disasm($build_root/toolchain/ohos:ohos_clang_arm64)" ]
109b1994897Sopenharmony_ci    }
110b1994897Sopenharmony_ci    foreach(plugin, enabled_plugins) {
111b1994897Sopenharmony_ci      deps += [ "$ark_root/plugins/$plugin:ark_host_ohos_tools_packages" ]
112b1994897Sopenharmony_ci    }
113b1994897Sopenharmony_ci  }
114b1994897Sopenharmony_ci}
115b1994897Sopenharmony_ci
116b1994897Sopenharmony_ci# Common config for ark source
117b1994897Sopenharmony_ciconfig("ark_config") {
118b1994897Sopenharmony_ci  visibility = [
119b1994897Sopenharmony_ci    "./*",
120b1994897Sopenharmony_ci    "//arkcompiler/ets_frontend/*",
121b1994897Sopenharmony_ci  ]
122b1994897Sopenharmony_ci
123b1994897Sopenharmony_ci  include_dirs = [ "$ark_root" ]
124b1994897Sopenharmony_ci  defines = [ "PANDA_TARGET_MOBILE_WITH_MANAGED_LIBS=1" ]
125b1994897Sopenharmony_ci
126b1994897Sopenharmony_ci  if (is_linux) {
127b1994897Sopenharmony_ci    defines += [
128b1994897Sopenharmony_ci      "PANDA_TARGET_UNIX",
129b1994897Sopenharmony_ci      "PANDA_TARGET_LINUX",
130b1994897Sopenharmony_ci      "PANDA_WITH_BYTECODE_OPTIMIZER",
131b1994897Sopenharmony_ci      "PANDA_WITH_COMPILER",
132b1994897Sopenharmony_ci      "PANDA_USE_FUTEX",
133b1994897Sopenharmony_ci    ]
134b1994897Sopenharmony_ci  } else if (is_mingw) {
135b1994897Sopenharmony_ci    defines += [
136b1994897Sopenharmony_ci      "PANDA_TARGET_WINDOWS",
137b1994897Sopenharmony_ci      "PANDA_WITH_BYTECODE_OPTIMIZER",
138b1994897Sopenharmony_ci      "PANDA_WITH_COMPILER",
139b1994897Sopenharmony_ci      "_CRTBLD",
140b1994897Sopenharmony_ci      "__LIBMSVCRT__",
141b1994897Sopenharmony_ci    ]
142b1994897Sopenharmony_ci  } else if (is_mac) {
143b1994897Sopenharmony_ci    defines += [
144b1994897Sopenharmony_ci      "PANDA_TARGET_UNIX",
145b1994897Sopenharmony_ci      "PANDA_TARGET_MACOS",
146b1994897Sopenharmony_ci      "PANDA_WITH_BYTECODE_OPTIMIZER",
147b1994897Sopenharmony_ci      "PANDA_WITH_COMPILER",
148b1994897Sopenharmony_ci    ]
149b1994897Sopenharmony_ci  } else if (target_os == "ios") {
150b1994897Sopenharmony_ci    defines += [
151b1994897Sopenharmony_ci      "PANDA_TARGET_UNIX",
152b1994897Sopenharmony_ci      "PANDA_TARGET_IOS",
153b1994897Sopenharmony_ci      "PANDA_WITH_BYTECODE_OPTIMIZER",
154b1994897Sopenharmony_ci      "PANDA_WITH_COMPILER",
155b1994897Sopenharmony_ci    ]
156b1994897Sopenharmony_ci  } else if (is_mob) {
157b1994897Sopenharmony_ci    defines += [
158b1994897Sopenharmony_ci      "PANDA_TARGET_OHOS",
159b1994897Sopenharmony_ci      "PANDA_TARGET_UNIX",
160b1994897Sopenharmony_ci      "PANDA_USE_FUTEX",
161b1994897Sopenharmony_ci      "PANDA_TARGET_MOBILE",
162b1994897Sopenharmony_ci      "PANDA_TARGET_MOBILE_WITH_NATIVE_LIBS",
163b1994897Sopenharmony_ci    ]
164b1994897Sopenharmony_ci  } else if (is_ohos) {
165b1994897Sopenharmony_ci    if (is_build_sdk) {
166b1994897Sopenharmony_ci      defines += [
167b1994897Sopenharmony_ci        "PANDA_TARGET_OHOS",
168b1994897Sopenharmony_ci        "PANDA_TARGET_UNIX",
169b1994897Sopenharmony_ci        "PANDA_WITH_BYTECODE_OPTIMIZER",
170b1994897Sopenharmony_ci        "PANDA_USE_FUTEX",
171b1994897Sopenharmony_ci      ]
172b1994897Sopenharmony_ci    } else {
173b1994897Sopenharmony_ci      defines += [
174b1994897Sopenharmony_ci        "PANDA_TARGET_OHOS",
175b1994897Sopenharmony_ci        "PANDA_TARGET_UNIX",
176b1994897Sopenharmony_ci        "PANDA_USE_FUTEX",
177b1994897Sopenharmony_ci      ]
178b1994897Sopenharmony_ci    }
179b1994897Sopenharmony_ci  } else {
180b1994897Sopenharmony_ci    defines += [
181b1994897Sopenharmony_ci      "PANDA_TARGET_UNIX",
182b1994897Sopenharmony_ci      "PANDA_USE_FUTEX",
183b1994897Sopenharmony_ci    ]
184b1994897Sopenharmony_ci  }
185b1994897Sopenharmony_ci
186b1994897Sopenharmony_ci  if (current_os == "android" && defined(is_arkui_x) && is_arkui_x) {
187b1994897Sopenharmony_ci    defines += [ "PANDA_TARGET_ARKUI_X" ]
188b1994897Sopenharmony_ci  }
189b1994897Sopenharmony_ci
190b1994897Sopenharmony_ci  if (enable_hilog) {
191b1994897Sopenharmony_ci    defines += [ "ENABLE_HILOG" ]
192b1994897Sopenharmony_ci  }
193b1994897Sopenharmony_ci
194b1994897Sopenharmony_ci  if (!is_debug) {
195b1994897Sopenharmony_ci    defines += [ "NDEBUG" ]
196b1994897Sopenharmony_ci  }
197b1994897Sopenharmony_ci
198b1994897Sopenharmony_ci  cflags_cc = [
199b1994897Sopenharmony_ci    "-std=c++17",
200b1994897Sopenharmony_ci    "-pedantic",
201b1994897Sopenharmony_ci    "-Wall",
202b1994897Sopenharmony_ci    "-Wextra",
203b1994897Sopenharmony_ci    "-Werror",
204b1994897Sopenharmony_ci    "-fno-rtti",
205b1994897Sopenharmony_ci    "-fno-exceptions",
206b1994897Sopenharmony_ci    "-Wno-invalid-offsetof",
207b1994897Sopenharmony_ci
208b1994897Sopenharmony_ci    "-Wno-gnu-statement-expression",
209b1994897Sopenharmony_ci    "-Wno-unused-parameter",
210b1994897Sopenharmony_ci    "-Wno-unused-result",
211b1994897Sopenharmony_ci    "-Wno-unused-but-set-variable",
212b1994897Sopenharmony_ci  ]
213b1994897Sopenharmony_ci
214b1994897Sopenharmony_ci  cflags_c = []
215b1994897Sopenharmony_ci
216b1994897Sopenharmony_ci  if (!is_mac && use_pbqp) {
217b1994897Sopenharmony_ci    cflags_cc += [
218b1994897Sopenharmony_ci      # PBQP regalloc
219b1994897Sopenharmony_ci      "-mllvm",
220b1994897Sopenharmony_ci      "-regalloc=pbqp",
221b1994897Sopenharmony_ci    ]
222b1994897Sopenharmony_ci  }
223b1994897Sopenharmony_ci
224b1994897Sopenharmony_ci  if (is_fastverify) {
225b1994897Sopenharmony_ci    cflags_cc += [
226b1994897Sopenharmony_ci      "-O3",
227b1994897Sopenharmony_ci      "-ggdb3",
228b1994897Sopenharmony_ci      "-fno-omit-frame-pointer",
229b1994897Sopenharmony_ci      "-D_GLIBCXX_ASSERTIONS",
230b1994897Sopenharmony_ci    ]
231b1994897Sopenharmony_ci    cflags_c += [
232b1994897Sopenharmony_ci      "-O3",
233b1994897Sopenharmony_ci      "-ggdb3",
234b1994897Sopenharmony_ci      "-fno-omit-frame-pointer",
235b1994897Sopenharmony_ci      "-D_GLIBCXX_ASSERTIONS",
236b1994897Sopenharmony_ci    ]
237b1994897Sopenharmony_ci  } else if (is_debug) {
238b1994897Sopenharmony_ci    cflags_cc += [
239b1994897Sopenharmony_ci      "-Og",
240b1994897Sopenharmony_ci      "-ggdb3",
241b1994897Sopenharmony_ci    ]
242b1994897Sopenharmony_ci  }
243b1994897Sopenharmony_ci
244b1994897Sopenharmony_ci  if (enable_relayout_profile) {
245b1994897Sopenharmony_ci    defines += [ "PANDA_ENABLE_RELAYOUT_PROFILE" ]
246b1994897Sopenharmony_ci  }
247b1994897Sopenharmony_ci
248b1994897Sopenharmony_ci  configs = []
249b1994897Sopenharmony_ci  foreach(plugin, enabled_plugins) {
250b1994897Sopenharmony_ci    configs += [ "$ark_root/plugins/$plugin:ark_config" ]
251b1994897Sopenharmony_ci  }
252b1994897Sopenharmony_ci
253b1994897Sopenharmony_ci  if (current_cpu == "arm") {
254b1994897Sopenharmony_ci    cflags_cc += [
255b1994897Sopenharmony_ci      "-march=armv7-a",
256b1994897Sopenharmony_ci      "-mfloat-abi=${arm_float_abi}",
257b1994897Sopenharmony_ci      "-marm",
258b1994897Sopenharmony_ci      "-mfpu=vfp",
259b1994897Sopenharmony_ci    ]
260b1994897Sopenharmony_ci
261b1994897Sopenharmony_ci    if (arm_float_abi == "soft") {
262b1994897Sopenharmony_ci      defines += [ "PANDA_TARGET_ARM32_ABI_SOFT=1" ]
263b1994897Sopenharmony_ci    } else if (arm_float_abi == "softfp") {
264b1994897Sopenharmony_ci      defines += [ "PANDA_TARGET_ARM32_ABI_SOFTFP=1" ]
265b1994897Sopenharmony_ci    } else if (arm_float_abi == "hard") {
266b1994897Sopenharmony_ci      defines += [ "PANDA_TARGET_ARM32_ABI_HARD=1" ]
267b1994897Sopenharmony_ci    }
268b1994897Sopenharmony_ci
269b1994897Sopenharmony_ci    defines += [ "PANDA_TARGET_ARM32" ]
270b1994897Sopenharmony_ci  } else if (current_cpu == "arm64") {
271b1994897Sopenharmony_ci    defines += [
272b1994897Sopenharmony_ci      "PANDA_TARGET_ARM64",
273b1994897Sopenharmony_ci      "PANDA_TARGET_64",
274b1994897Sopenharmony_ci      "PANDA_ENABLE_GLOBAL_REGISTER_VARIABLES",
275b1994897Sopenharmony_ci      "PANDA_USE_32_BIT_POINTER",
276b1994897Sopenharmony_ci    ]
277b1994897Sopenharmony_ci  } else if (current_cpu == "x86") {
278b1994897Sopenharmony_ci    defines += [ "PANDA_TARGET_X86" ]
279b1994897Sopenharmony_ci  } else if (current_cpu == "amd64" || current_cpu == "x64" ||
280b1994897Sopenharmony_ci             current_cpu == "x86_64") {
281b1994897Sopenharmony_ci    defines += [
282b1994897Sopenharmony_ci      "PANDA_TARGET_64",
283b1994897Sopenharmony_ci      "PANDA_TARGET_AMD64",
284b1994897Sopenharmony_ci      "PANDA_USE_32_BIT_POINTER",
285b1994897Sopenharmony_ci    ]
286b1994897Sopenharmony_ci  }
287b1994897Sopenharmony_ci}
288b1994897Sopenharmony_ci
289b1994897Sopenharmony_ciplugins_yamls = []
290b1994897Sopenharmony_ciforeach(plugin, enabled_plugins) {
291b1994897Sopenharmony_ci  plugin_dir = "$ark_root/plugins/$plugin"
292b1994897Sopenharmony_ci  source_files = read_file("$plugin_dir/subproject_sources.gn", "scope")
293b1994897Sopenharmony_ci
294b1994897Sopenharmony_ci  if (defined(source_files.option_yaml_path)) {
295b1994897Sopenharmony_ci    plugins_yamls += [ "$plugin_dir/${source_files.option_yaml_path}" ]
296b1994897Sopenharmony_ci  }
297b1994897Sopenharmony_ci
298b1994897Sopenharmony_ci  source_files = {
299b1994897Sopenharmony_ci  }
300b1994897Sopenharmony_ci}
301b1994897Sopenharmony_ci
302b1994897Sopenharmony_ciconcat_yamls("concat_plugins_yamls") {
303b1994897Sopenharmony_ci  output_file = "$target_gen_dir/plugin_options.yaml"
304b1994897Sopenharmony_ci  default_file = "$ark_root/templates/plugin_options.yaml"
305b1994897Sopenharmony_ci  add_yamls = plugins_yamls
306b1994897Sopenharmony_ci}
307b1994897Sopenharmony_ci
308b1994897Sopenharmony_ciinst_templates_yamls = []
309b1994897Sopenharmony_ciforeach(plugin, enabled_plugins) {
310b1994897Sopenharmony_ci  plugin_dir = "$ark_root/plugins/$plugin"
311b1994897Sopenharmony_ci  source_files = read_file("$plugin_dir/subproject_sources.gn", "scope")
312b1994897Sopenharmony_ci  if (defined(source_files.inst_templates_yaml_path)) {
313b1994897Sopenharmony_ci    inst_templates_yamls +=
314b1994897Sopenharmony_ci        [ "$plugin_dir/${source_files.inst_templates_yaml_path}" ]
315b1994897Sopenharmony_ci  }
316b1994897Sopenharmony_ci  source_files = {
317b1994897Sopenharmony_ci  }
318b1994897Sopenharmony_ci}
319b1994897Sopenharmony_ci
320b1994897Sopenharmony_ciconcat_yamls("concat_inst_templates_yamls") {
321b1994897Sopenharmony_ci  output_file = "$target_gen_dir/compiler/generated/inst_templates.yaml"
322b1994897Sopenharmony_ci  default_file = "$ark_root/compiler/optimizer/ir_builder/inst_templates.yaml"
323b1994897Sopenharmony_ci  add_yamls = inst_templates_yamls
324b1994897Sopenharmony_ci}
325b1994897Sopenharmony_ci
326b1994897Sopenharmony_cigroup("ark_host_defectscanaux_tools") {
327b1994897Sopenharmony_ci  deps = []
328b1994897Sopenharmony_ci  if (host_os == "linux") {
329b1994897Sopenharmony_ci    deps += [
330b1994897Sopenharmony_ci      ":ark_host_linux_defectscanaux_unittest",
331b1994897Sopenharmony_ci      ":ark_host_win_defectscanaux_unittest",
332b1994897Sopenharmony_ci    ]
333b1994897Sopenharmony_ci  } else if (host_os == "mac") {
334b1994897Sopenharmony_ci    deps += [ ":ark_host_mac_defectscanaux_unittest" ]
335b1994897Sopenharmony_ci  }
336b1994897Sopenharmony_ci}
337b1994897Sopenharmony_ci
338b1994897Sopenharmony_cigroup("ark_host_linux_defectscanaux_unittest") {
339b1994897Sopenharmony_ci  deps = []
340b1994897Sopenharmony_ci  if (host_os == "linux") {
341b1994897Sopenharmony_ci    deps += [ "$ark_root/libark_defect_scan_aux/tests/unittest:defect_scan_aux_demo(${host_toolchain})" ]
342b1994897Sopenharmony_ci  }
343b1994897Sopenharmony_ci}
344b1994897Sopenharmony_ci
345b1994897Sopenharmony_cigroup("ark_host_win_defectscanaux_unittest") {
346b1994897Sopenharmony_ci  deps = []
347b1994897Sopenharmony_ci  if (host_os == "linux") {
348b1994897Sopenharmony_ci    deps += [ "$ark_root/libark_defect_scan_aux/tests/unittest:defect_scan_aux_demo($build_root/toolchain/mingw:mingw_x86_64)" ]
349b1994897Sopenharmony_ci  }
350b1994897Sopenharmony_ci}
351b1994897Sopenharmony_ci
352b1994897Sopenharmony_cigroup("ark_host_mac_defectscanaux_unittest") {
353b1994897Sopenharmony_ci  deps = []
354b1994897Sopenharmony_ci  if (host_os == "mac") {
355b1994897Sopenharmony_ci    if (host_cpu == "arm64") {
356b1994897Sopenharmony_ci      deps += [ "$ark_root/libark_defect_scan_aux/tests/unittest:defect_scan_aux_demo($build_root/toolchain/mac:clang_arm64)" ]
357b1994897Sopenharmony_ci    } else {
358b1994897Sopenharmony_ci      deps += [ "$ark_root/libark_defect_scan_aux/tests/unittest:defect_scan_aux_demo($build_root/toolchain/mac:clang_x64)" ]
359b1994897Sopenharmony_ci    }
360b1994897Sopenharmony_ci  }
361b1994897Sopenharmony_ci}
362b1994897Sopenharmony_ci
363b1994897Sopenharmony_ciif (!ark_standalone_build) {
364b1994897Sopenharmony_ci  group("runtime_core_unittest") {
365b1994897Sopenharmony_ci    testonly = true
366b1994897Sopenharmony_ci    deps = [
367b1994897Sopenharmony_ci      "$ark_root/arkplatform/tests:unittest",
368b1994897Sopenharmony_ci      "$ark_root/libpandabase/tests:unittest",
369b1994897Sopenharmony_ci      "$ark_root/libpandafile/tests:unittest",
370b1994897Sopenharmony_ci      "$ark_root/libziparchive/tests:unittest",
371b1994897Sopenharmony_ci    ]
372b1994897Sopenharmony_ci  }
373b1994897Sopenharmony_ci
374b1994897Sopenharmony_ci  group("runtime_core_host_unittest") {
375b1994897Sopenharmony_ci    testonly = true
376b1994897Sopenharmony_ci    deps = [
377b1994897Sopenharmony_ci      "$ark_root/abc2program/tests:host_unittest",
378b1994897Sopenharmony_ci      "$ark_root/arkplatform/tests:host_unittest",
379b1994897Sopenharmony_ci      "$ark_root/assembler/tests:host_unittest",
380b1994897Sopenharmony_ci      "$ark_root/bytecode_optimizer/tests:host_unittest",
381b1994897Sopenharmony_ci      "$ark_root/compiler/tests:host_unittest",
382b1994897Sopenharmony_ci      "$ark_root/disassembler/tests:host_unittest",
383b1994897Sopenharmony_ci      "$ark_root/libark_defect_scan_aux/tests/unittest:host_unittest",
384b1994897Sopenharmony_ci      "$ark_root/libpandabase/tests:host_unittest",
385b1994897Sopenharmony_ci      "$ark_root/libpandafile/tests:host_unittest",
386b1994897Sopenharmony_ci      "$ark_root/libziparchive/tests:host_unittest",
387b1994897Sopenharmony_ci      "$ark_root/platforms/tests:host_unittest",
388b1994897Sopenharmony_ci      "$ark_root/verifier/tests:host_unittest",
389b1994897Sopenharmony_ci    ]
390b1994897Sopenharmony_ci  }
391b1994897Sopenharmony_ci
392b1994897Sopenharmony_ci  group("verifier_host_unittest") {
393b1994897Sopenharmony_ci    testonly = true
394b1994897Sopenharmony_ci    deps = [ "$ark_root/verifier/tests:host_unittest" ]
395b1994897Sopenharmony_ci  }
396b1994897Sopenharmony_ci
397b1994897Sopenharmony_ci  group("compiler_host_unittest") {
398b1994897Sopenharmony_ci    testonly = true
399b1994897Sopenharmony_ci    deps = [ "$ark_root/compiler/tests:host_unittest" ]
400b1994897Sopenharmony_ci  }
401b1994897Sopenharmony_ci
402b1994897Sopenharmony_ci  group("arkplatform_host_unittest") {
403b1994897Sopenharmony_ci    testonly = true
404b1994897Sopenharmony_ci    deps = [ "$ark_root/arkplatform/tests:host_unittest" ]
405b1994897Sopenharmony_ci  }
406b1994897Sopenharmony_ci
407b1994897Sopenharmony_ci  group("arkplatform_unittest") {
408b1994897Sopenharmony_ci    testonly = true
409b1994897Sopenharmony_ci    deps = [ "$ark_root/arkplatform/tests:unittest" ]
410b1994897Sopenharmony_ci  }
411b1994897Sopenharmony_ci}
412