1# Copyright (c) 2021-2022 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_frontend/es2panda/es2abc_config.gni") 15import("//arkcompiler/ets_frontend/ets_frontend_config.gni") 16import("//arkcompiler/runtime_core/ark_config.gni") 17 18es2panda_src = [ 19 "es2panda.cpp", 20 "binder/binder.cpp", 21 "binder/declaration.cpp", 22 "binder/scope.cpp", 23 "binder/variable.cpp", 24 "compiler/base/catchTable.cpp", 25 "compiler/base/condition.cpp", 26 "compiler/base/destructuring.cpp", 27 "compiler/base/hoisting.cpp", 28 "compiler/base/iterators.cpp", 29 "compiler/base/lexenv.cpp", 30 "compiler/base/literals.cpp", 31 "compiler/base/lreference.cpp", 32 "compiler/base/optionalChain.cpp", 33 "compiler/core/compileQueue.cpp", 34 "compiler/core/compilerContext.cpp", 35 "compiler/core/compilerImpl.cpp", 36 "compiler/core/dynamicContext.cpp", 37 "compiler/core/emitter/commonjs.cpp", 38 "compiler/core/emitter/emitter.cpp", 39 "compiler/core/emitter/moduleRecordEmitter.cpp", 40 "compiler/core/emitter/typeExtractorEmitter.cpp", 41 "compiler/core/envScope.cpp", 42 "compiler/core/function.cpp", 43 "compiler/core/inlineCache.cpp", 44 "compiler/core/labelTarget.cpp", 45 "compiler/core/pandagen.cpp", 46 "compiler/core/regAllocator.cpp", 47 "compiler/core/regScope.cpp", 48 "compiler/core/switchBuilder.cpp", 49 "compiler/debugger/debuginfoDumper.cpp", 50 "compiler/function/asyncFunctionBuilder.cpp", 51 "compiler/function/asyncGeneratorFunctionBuilder.cpp", 52 "compiler/function/functionBuilder.cpp", 53 "compiler/function/generatorFunctionBuilder.cpp", 54 "ir/astDump.cpp", 55 "ir/base/catchClause.cpp", 56 "ir/base/classDefinition.cpp", 57 "ir/base/classProperty.cpp", 58 "ir/base/decorator.cpp", 59 "ir/base/metaProperty.cpp", 60 "ir/base/methodDefinition.cpp", 61 "ir/base/property.cpp", 62 "ir/base/scriptFunction.cpp", 63 "ir/base/spreadElement.cpp", 64 "ir/base/templateElement.cpp", 65 "ir/expression.cpp", 66 "ir/expressions/arrayExpression.cpp", 67 "ir/expressions/arrowFunctionExpression.cpp", 68 "ir/expressions/assignmentExpression.cpp", 69 "ir/expressions/awaitExpression.cpp", 70 "ir/expressions/binaryExpression.cpp", 71 "ir/expressions/callExpression.cpp", 72 "ir/expressions/chainExpression.cpp", 73 "ir/expressions/classExpression.cpp", 74 "ir/expressions/conditionalExpression.cpp", 75 "ir/expressions/functionExpression.cpp", 76 "ir/expressions/identifier.cpp", 77 "ir/expressions/importExpression.cpp", 78 "ir/expressions/literal.cpp", 79 "ir/expressions/literals/bigIntLiteral.cpp", 80 "ir/expressions/literals/booleanLiteral.cpp", 81 "ir/expressions/literals/nullLiteral.cpp", 82 "ir/expressions/literals/numberLiteral.cpp", 83 "ir/expressions/literals/regExpLiteral.cpp", 84 "ir/expressions/literals/stringLiteral.cpp", 85 "ir/expressions/literals/taggedLiteral.cpp", 86 "ir/expressions/memberExpression.cpp", 87 "ir/expressions/newExpression.cpp", 88 "ir/expressions/objectExpression.cpp", 89 "ir/expressions/omittedExpression.cpp", 90 "ir/expressions/sequenceExpression.cpp", 91 "ir/expressions/superExpression.cpp", 92 "ir/expressions/taggedTemplateExpression.cpp", 93 "ir/expressions/templateLiteral.cpp", 94 "ir/expressions/thisExpression.cpp", 95 "ir/expressions/unaryExpression.cpp", 96 "ir/expressions/updateExpression.cpp", 97 "ir/expressions/yieldExpression.cpp", 98 "ir/module/exportAllDeclaration.cpp", 99 "ir/module/exportDefaultDeclaration.cpp", 100 "ir/module/exportNamedDeclaration.cpp", 101 "ir/module/exportSpecifier.cpp", 102 "ir/module/importDeclaration.cpp", 103 "ir/module/importDefaultSpecifier.cpp", 104 "ir/module/importNamespaceSpecifier.cpp", 105 "ir/module/importSpecifier.cpp", 106 "ir/statement.cpp", 107 "ir/statements/blockStatement.cpp", 108 "ir/statements/breakStatement.cpp", 109 "ir/statements/classDeclaration.cpp", 110 "ir/statements/continueStatement.cpp", 111 "ir/statements/debuggerStatement.cpp", 112 "ir/statements/doWhileStatement.cpp", 113 "ir/statements/emptyStatement.cpp", 114 "ir/statements/expressionStatement.cpp", 115 "ir/statements/forInStatement.cpp", 116 "ir/statements/forOfStatement.cpp", 117 "ir/statements/forUpdateStatement.cpp", 118 "ir/statements/functionDeclaration.cpp", 119 "ir/statements/ifStatement.cpp", 120 "ir/statements/labelledStatement.cpp", 121 "ir/statements/loopStatement.cpp", 122 "ir/statements/returnStatement.cpp", 123 "ir/statements/switchCaseStatement.cpp", 124 "ir/statements/switchStatement.cpp", 125 "ir/statements/throwStatement.cpp", 126 "ir/statements/tryStatement.cpp", 127 "ir/statements/variableDeclaration.cpp", 128 "ir/statements/variableDeclarator.cpp", 129 "ir/statements/whileStatement.cpp", 130 "ir/ts/tsAnyKeyword.cpp", 131 "ir/ts/tsArrayType.cpp", 132 "ir/ts/tsAsExpression.cpp", 133 "ir/ts/tsBigintKeyword.cpp", 134 "ir/ts/tsBooleanKeyword.cpp", 135 "ir/ts/tsClassImplements.cpp", 136 "ir/ts/tsConditionalType.cpp", 137 "ir/ts/tsConstructorType.cpp", 138 "ir/ts/tsEnumDeclaration.cpp", 139 "ir/ts/tsEnumMember.cpp", 140 "ir/ts/tsExternalModuleReference.cpp", 141 "ir/ts/tsFunctionType.cpp", 142 "ir/ts/tsImportEqualsDeclaration.cpp", 143 "ir/ts/tsImportType.cpp", 144 "ir/ts/tsIndexSignature.cpp", 145 "ir/ts/tsIndexedAccessType.cpp", 146 "ir/ts/tsInferType.cpp", 147 "ir/ts/tsInterfaceBody.cpp", 148 "ir/ts/tsInterfaceDeclaration.cpp", 149 "ir/ts/tsInterfaceHeritage.cpp", 150 "ir/ts/tsIntersectionType.cpp", 151 "ir/ts/tsLiteralType.cpp", 152 "ir/ts/tsMappedType.cpp", 153 "ir/ts/tsMethodSignature.cpp", 154 "ir/ts/tsModuleBlock.cpp", 155 "ir/ts/tsModuleDeclaration.cpp", 156 "ir/ts/tsNamedTupleMember.cpp", 157 "ir/ts/tsNamespaceExportDeclaration.cpp", 158 "ir/ts/tsNeverKeyword.cpp", 159 "ir/ts/tsNonNullExpression.cpp", 160 "ir/ts/tsNullKeyword.cpp", 161 "ir/ts/tsNumberKeyword.cpp", 162 "ir/ts/tsObjectKeyword.cpp", 163 "ir/ts/tsOptionalType.cpp", 164 "ir/ts/tsParameterProperty.cpp", 165 "ir/ts/tsParenthesizedType.cpp", 166 "ir/ts/tsPrivateIdentifier.cpp", 167 "ir/ts/tsPropertySignature.cpp", 168 "ir/ts/tsQualifiedName.cpp", 169 "ir/ts/tsRestType.cpp", 170 "ir/ts/tsSignatureDeclaration.cpp", 171 "ir/ts/tsStringKeyword.cpp", 172 "ir/ts/tsSymbolKeyword.cpp", 173 "ir/ts/tsTemplateLiteralType.cpp", 174 "ir/ts/tsThisType.cpp", 175 "ir/ts/tsTupleType.cpp", 176 "ir/ts/tsTypeAliasDeclaration.cpp", 177 "ir/ts/tsTypeAssertion.cpp", 178 "ir/ts/tsTypeLiteral.cpp", 179 "ir/ts/tsTypeOperator.cpp", 180 "ir/ts/tsTypeParameter.cpp", 181 "ir/ts/tsTypeParameterDeclaration.cpp", 182 "ir/ts/tsTypeParameterInstantiation.cpp", 183 "ir/ts/tsTypePredicate.cpp", 184 "ir/ts/tsTypeQuery.cpp", 185 "ir/ts/tsTypeReference.cpp", 186 "ir/ts/tsUndefinedKeyword.cpp", 187 "ir/ts/tsUnionType.cpp", 188 "ir/ts/tsUnknownKeyword.cpp", 189 "ir/ts/tsVoidKeyword.cpp", 190 "lexer/keywordsUtil.cpp", 191 "lexer/lexer.cpp", 192 "lexer/regexp/regexp.cpp", 193 "lexer/token/sourceLocation.cpp", 194 "lexer/token/token.cpp", 195 "parser/commonjs.cpp", 196 "parser/context/parserContext.cpp", 197 "parser/expressionParser.cpp", 198 "parser/module/sourceTextModuleRecord.cpp", 199 "parser/parserImpl.cpp", 200 "parser/program/program.cpp", 201 "parser/statementParser.cpp", 202 "parser/transformer/transformer.cpp", 203 "typescript/checker.cpp", 204 "typescript/core/binaryLikeExpression.cpp", 205 "typescript/core/destructuringContext.cpp", 206 "typescript/core/function.cpp", 207 "typescript/core/helpers.cpp", 208 "typescript/core/object.cpp", 209 "typescript/core/typeCreation.cpp", 210 "typescript/core/typeElaborationContext.cpp", 211 "typescript/core/typeRelation.cpp", 212 "typescript/core/util.cpp", 213 "typescript/extractor/typeExtractor.cpp", 214 "typescript/extractor/typeRecorder.cpp", 215 "typescript/types/anyType.cpp", 216 "typescript/types/arrayType.cpp", 217 "typescript/types/bigintLiteralType.cpp", 218 "typescript/types/bigintType.cpp", 219 "typescript/types/booleanLiteralType.cpp", 220 "typescript/types/booleanType.cpp", 221 "typescript/types/constructorType.cpp", 222 "typescript/types/enumLiteralType.cpp", 223 "typescript/types/enumType.cpp", 224 "typescript/types/functionType.cpp", 225 "typescript/types/globalTypesHolder.cpp", 226 "typescript/types/indexInfo.cpp", 227 "typescript/types/interfaceType.cpp", 228 "typescript/types/neverType.cpp", 229 "typescript/types/nonPrimitiveType.cpp", 230 "typescript/types/nullType.cpp", 231 "typescript/types/numberLiteralType.cpp", 232 "typescript/types/numberType.cpp", 233 "typescript/types/objectDescriptor.cpp", 234 "typescript/types/objectLiteralType.cpp", 235 "typescript/types/objectType.cpp", 236 "typescript/types/signature.cpp", 237 "typescript/types/stringLiteralType.cpp", 238 "typescript/types/stringType.cpp", 239 "typescript/types/symbolType.cpp", 240 "typescript/types/tupleType.cpp", 241 "typescript/types/type.cpp", 242 "typescript/types/typeParameter.cpp", 243 "typescript/types/typeReference.cpp", 244 "typescript/types/typeRelation.cpp", 245 "typescript/types/undefinedType.cpp", 246 "typescript/types/unionType.cpp", 247 "typescript/types/unknownType.cpp", 248 "typescript/types/voidType.cpp", 249 "util/base64.cpp", 250 "util/bitset.cpp", 251 "util/concurrent.cpp", 252 "util/dumper.cpp", 253 "util/helpers.cpp", 254 "util/patchFix.cpp", 255 "util/moduleHelpers.cpp", 256 "util/symbolTable.cpp", 257 "util/ustring.cpp", 258 "util/workerQueue.cpp", 259] 260 261config("es2abc_config_src") { 262 include_dirs = [ 263 "./", 264 "./binder", 265 "./util", 266 "./compiler/base", 267 "./compiler/core", 268 "./compiler/debugger", 269 "./compiler/function", 270 "./ir", 271 "./ir/base", 272 "./ir/expressions", 273 "./ir/module", 274 "./ir/statements", 275 "./ir/ts", 276 "./parser", 277 "./parser/context", 278 "./lexer", 279 "./lexer/token", 280 "./lexer/regexp", 281 "./typescript", 282 "./typescript/types", 283 "./typescript/types/extractor", 284 ] 285 286 cflags = [ "-fexceptions" ] 287} 288 289config("es2abc_config_common") { 290 configs = [ 291 "$ark_root:ark_config", 292 "$sdk_libc_secshared_config", 293 "$ark_root/libpandafile:arkfile_public_config", 294 "$ark_root/libpandabase:arkbase_public_config", 295 "$ark_root/assembler:arkassembler_public_config", 296 ":es2abc_config_src", 297 ] 298 299 if (enable_bytecode_optimizer) { 300 defines = [ "ENABLE_BYTECODE_OPT" ] 301 configs += [ 302 "$ark_root/compiler:arkcompiler_public_config", 303 "$ark_root/bytecode_optimizer:bytecodeopt_public_config", 304 ] 305 } 306} 307 308# generate headers for es2panda parser 309generated_header_dir = "${target_out_dir}/gen" 310action_foreach("gen_keywords_headers") { 311 template_files = [ 312 "keywords.h.erb", 313 "keywordsMap.h.erb", 314 ] 315 keywords_templates_dir = "./lexer/templates" 316 keywords_generator = "./lexer/scripts/keywords.rb" 317 318 sources = [] 319 foreach(file, template_files) { 320 sources += [ rebase_path("${keywords_templates_dir}/${file}") ] 321 } 322 outputs = [ "${generated_header_dir}/{{source_name_part}}" ] 323 324 script = "scripts/gen_keywords.sh" 325 inputs = [ "${keywords_generator}" ] 326 args = [ 327 "-g", 328 rebase_path("${keywords_generator}"), 329 "-t", 330 "{{source}}", 331 "-o", 332 "{{source_name_part}}", 333 "-d", 334 rebase_path("${generated_header_dir}"), 335 ] 336} 337 338# generate headers for es2panda compiler 339isa_gen = "${ark_root}/isa/gen.rb" 340isa_gen_data = "$root_gen_dir/isa/isa.yaml" 341isa_gen_require = "${ark_root}/isa/isapi.rb" 342action_foreach("gen_isa_headers") { 343 deps = [ "//arkcompiler/runtime_core/isa:isa_combine" ] 344 345 template_files = [ 346 "isa.h.erb", 347 "formats.h.erb", 348 ] 349 keywords_templates_dir = "./compiler/templates" 350 351 sources = [] 352 foreach(file, template_files) { 353 sources += [ rebase_path("${keywords_templates_dir}/${file}") ] 354 } 355 outputs = [ "${generated_header_dir}/{{source_name_part}}" ] 356 357 script = "scripts/gen_isa.sh" 358 inputs = [ 359 "${isa_gen}", 360 "${isa_gen_data}", 361 "${isa_gen_require}", 362 ] 363 args = [ 364 "-g", 365 rebase_path("${isa_gen}"), 366 "-t", 367 "{{source}}", 368 "-a", 369 rebase_path("${isa_gen_data}"), 370 "-o", 371 "{{source_name_part}}", 372 "-d", 373 rebase_path("${generated_header_dir}"), 374 "-r", 375 rebase_path("${isa_gen_require}"), 376 ] 377} 378 379ohos_static_library("es2panda_lib") { 380 sources = es2panda_src 381 use_exceptions = true 382 if (is_mac && current_cpu == "arm64") { 383 use_rtti = true 384 } 385 386 configs = [ 387 ":es2abc_config_common", 388 "../merge_abc:panda_assembly_proto_public_config", 389 ] 390 391 include_dirs = [ 392 "${target_out_dir}", 393 "//third_party/icu/icu4c/source/common", 394 "//third_party/icu/icu4c/source/i18n", 395 "//third_party/icu/icu4c/source ", 396 ] 397 398 deps = [ 399 ":gen_isa_headers", 400 ":gen_keywords_headers", 401 "$ark_third_party_root/icu/icu4c:static_icuuc", 402 "../merge_abc:panda_assembly_proto_static", 403 ] 404 405 external_deps = [] 406 if (!is_cross_platform_build) { 407 external_deps += [ 408 "runtime_core:libarkassembler_frontend_static", 409 "runtime_core:libarkbase_frontend_static", 410 "runtime_core:libarkfile_frontend_static", 411 "runtime_core:libarkziparchive_frontend_static", 412 ] 413 414 if (enable_bytecode_optimizer) { 415 external_deps += [ 416 "runtime_core:libarkbytecodeopt_frontend_static", 417 "runtime_core:libarkcompiler_frontend_static", 418 ] 419 } 420 } else { 421 deps += [ 422 "$ark_root/assembler:libarkassembler_frontend_static", 423 "$ark_root/libpandabase:libarkbase_frontend_static", 424 "$ark_root/libpandafile:libarkfile_frontend_static", 425 "$ark_root/libziparchive:libarkziparchive_frontend_static", 426 ] 427 if (enable_bytecode_optimizer) { 428 deps += [ 429 "$ark_root/bytecode_optimizer:libarkbytecodeopt_frontend_static", 430 "$ark_root/compiler:libarkcompiler_frontend_static", 431 ] 432 } 433 } 434 435 cflags = [ 436 "-Wno-c++20-designator", 437 "-Wno-implicit-fallthrough", 438 ] 439 440 part_name = "ets_frontend" 441 subsystem_name = "arkcompiler" 442} 443 444ohos_executable("es2panda") { 445 use_exceptions = true 446 if (is_mac && current_cpu == "arm64") { 447 use_rtti = true 448 } 449 450 sources = [ 451 "aot/emitFiles.cpp", 452 "aot/main.cpp", 453 "aot/options.cpp", 454 ] 455 456 include_dirs = [ "./aot" ] 457 458 configs = [ 459 ":es2abc_config_common", 460 "//arkcompiler/ets_frontend/merge_abc:panda_assembly_proto_public_config", 461 ] 462 463 deps = [ 464 ":es2panda_lib", 465 "//arkcompiler/ets_frontend/merge_abc:panda_assembly_proto_static", 466 ] 467 468 ldflags = [] 469 if (is_linux) { 470 if (build_public_version) { 471 ldflags += [ "-Wl,-Bstatic" ] 472 ldflags += [ "-lstdc++" ] 473 ldflags += [ "-Wl,-Bdynamic" ] 474 } else { 475 libs = [ libcpp_static_lib ] 476 } 477 } 478 479 output_name = "es2abc" 480 install_enable = false 481 part_name = "ets_frontend" 482 subsystem_name = "arkcompiler" 483} 484 485if (is_linux) { 486 ohos_copy("es2abc_build") { 487 deps = [ ":es2panda" ] 488 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 489 outputs = [ "${target_out_dir}/es2abc-tmp" ] 490 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 491 module_install_name = "es2abc" 492 } 493 494 ohos_copy("es2abc_build_ets") { 495 deps = [ ":es2panda" ] 496 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 497 outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-ets" ] 498 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 499 module_install_name = "es2abc" 500 } 501} 502 503if (is_mingw) { 504 ohos_copy("es2abc_build_win") { 505 deps = [ ":es2panda" ] 506 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc.exe" ] 507 outputs = [ "${target_out_dir}/es2abc-tmp" ] 508 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 509 module_install_name = "es2abc.exe" 510 } 511 512 ohos_copy("es2abc_build_win_ets") { 513 deps = [ ":es2panda" ] 514 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc.exe" ] 515 outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-win-ets" ] 516 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 517 module_install_name = "es2abc.exe" 518 } 519} 520 521if (is_mac) { 522 ohos_copy("es2abc_build_mac") { 523 deps = [ ":es2panda" ] 524 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 525 outputs = [ "${target_out_dir}/es2abc-tmp" ] 526 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 527 module_install_name = "es2abc" 528 } 529 530 ohos_copy("es2abc_build_mac_ets") { 531 deps = [ ":es2panda" ] 532 sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 533 outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-mac-ets" ] 534 module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend" 535 module_install_name = "es2abc" 536 } 537} 538 539if (is_linux) { 540 ohos_copy("build_es2abc_for_hap") { 541 deps = [ ":es2panda(${host_toolchain})" ] 542 es2abc_root_out_dir = 543 get_label_info(":es2panda_build($host_toolchain)", "root_out_dir") 544 es2abc_target_out_dir = 545 get_label_info(":es2panda_build($host_toolchain)", "target_out_dir") 546 547 sources = [ "${es2abc_root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 548 outputs = [ "${es2abc_target_out_dir}/build/bin/es2abc" ] 549 } 550} else if (is_mac) { 551 ohos_copy("build_es2abc_for_hap") { 552 deps = [ ":es2panda(${host_toolchain})" ] 553 es2abc_root_out_dir = 554 get_label_info(":es2panda_build($host_toolchain)", "root_out_dir") 555 es2abc_target_out_dir = 556 get_label_info(":es2panda_build($host_toolchain)", "target_out_dir") 557 558 sources = [ "${es2abc_root_out_dir}/arkcompiler/ets_frontend/es2abc" ] 559 outputs = [ "${es2abc_target_out_dir}/build-mac/bin/es2abc" ] 560 } 561} 562 563ohos_copy("panda_es2abc") { 564 sources = [ "${es2abc_root}/scripts/ts2abc.js" ] 565 566 outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] 567 module_source_dir = target_out_dir + "/$target_name/" 568 module_install_name = "" 569 570 part_name = "ets_frontend" 571 subsystem_name = "arkcompiler" 572} 573 574ohos_copy("panda_es2abc_ets") { 575 sources = [ "${es2abc_root}/scripts/ts2abc.js" ] 576 outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ] 577 module_source_dir = target_out_dir + "/$target_name/" 578 module_install_name = "" 579 580 part_name = "ets_frontend" 581 subsystem_name = "arkcompiler" 582} 583 584ohos_copy("es2abc_js_file") { 585 sources = [ "${es2abc_root}/scripts/ts2abc.js" ] 586 outputs = [ target_out_dir + "/{{source_file_part}}" ] 587 588 part_name = "ets_frontend" 589 subsystem_name = "arkcompiler" 590} 591 592group("es2panda_build") { 593 if (host_os == "linux") { 594 deps = [ ":es2panda(${toolchain_linux})" ] 595 } 596 597 if (host_os == "mac") { 598 deps = [ ":es2panda(${toolchain_mac})" ] 599 } 600} 601 602group("es2panda_build_win") { 603 deps = [ ":es2panda(${toolchain_win})" ] 604} 605 606group("es2abc_tests") { 607 deps = [ "./test:es2abc_base64_tests" ] 608 deps += [ "./test:es2abc_compiler_tests" ] 609 deps += [ "./test:es2abc_parser_tests" ] 610 deps += [ "./test:es2abc_parser_tsc_tests" ] 611 deps += [ "./test:es2abc_patch_tests" ] 612 deps += [ "./test:es2abc_bytecode_tests" ] 613 deps += [ "./test:es2abc_type_extractor_tests" ] 614} 615