13af6ab5fSopenharmony_ci# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
23af6ab5fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
33af6ab5fSopenharmony_ci# you may not use this file except in compliance with the License.
43af6ab5fSopenharmony_ci# You may obtain a copy of the License at
53af6ab5fSopenharmony_ci#
63af6ab5fSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
73af6ab5fSopenharmony_ci#
83af6ab5fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
93af6ab5fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
103af6ab5fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
113af6ab5fSopenharmony_ci# See the License for the specific language governing permissions and
123af6ab5fSopenharmony_ci# limitations under the License.
133af6ab5fSopenharmony_ci
143af6ab5fSopenharmony_ciimport("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni")
153af6ab5fSopenharmony_ciimport("//arkcompiler/ets_frontend/ets_frontend_config.gni")
163af6ab5fSopenharmony_ciimport("//arkcompiler/runtime_core/ark_config.gni")
173af6ab5fSopenharmony_ci
183af6ab5fSopenharmony_cies2panda_src = [
193af6ab5fSopenharmony_ci  "es2panda.cpp",
203af6ab5fSopenharmony_ci  "binder/binder.cpp",
213af6ab5fSopenharmony_ci  "binder/declaration.cpp",
223af6ab5fSopenharmony_ci  "binder/scope.cpp",
233af6ab5fSopenharmony_ci  "binder/variable.cpp",
243af6ab5fSopenharmony_ci  "compiler/base/catchTable.cpp",
253af6ab5fSopenharmony_ci  "compiler/base/condition.cpp",
263af6ab5fSopenharmony_ci  "compiler/base/destructuring.cpp",
273af6ab5fSopenharmony_ci  "compiler/base/hoisting.cpp",
283af6ab5fSopenharmony_ci  "compiler/base/iterators.cpp",
293af6ab5fSopenharmony_ci  "compiler/base/lexenv.cpp",
303af6ab5fSopenharmony_ci  "compiler/base/literals.cpp",
313af6ab5fSopenharmony_ci  "compiler/base/lreference.cpp",
323af6ab5fSopenharmony_ci  "compiler/base/optionalChain.cpp",
333af6ab5fSopenharmony_ci  "compiler/core/compileQueue.cpp",
343af6ab5fSopenharmony_ci  "compiler/core/compilerContext.cpp",
353af6ab5fSopenharmony_ci  "compiler/core/compilerImpl.cpp",
363af6ab5fSopenharmony_ci  "compiler/core/dynamicContext.cpp",
373af6ab5fSopenharmony_ci  "compiler/core/emitter/commonjs.cpp",
383af6ab5fSopenharmony_ci  "compiler/core/emitter/emitter.cpp",
393af6ab5fSopenharmony_ci  "compiler/core/emitter/moduleRecordEmitter.cpp",
403af6ab5fSopenharmony_ci  "compiler/core/envScope.cpp",
413af6ab5fSopenharmony_ci  "compiler/core/function.cpp",
423af6ab5fSopenharmony_ci  "compiler/core/inlineCache.cpp",
433af6ab5fSopenharmony_ci  "compiler/core/labelTarget.cpp",
443af6ab5fSopenharmony_ci  "compiler/core/pandagen.cpp",
453af6ab5fSopenharmony_ci  "compiler/core/regAllocator.cpp",
463af6ab5fSopenharmony_ci  "compiler/core/regScope.cpp",
473af6ab5fSopenharmony_ci  "compiler/core/switchBuilder.cpp",
483af6ab5fSopenharmony_ci  "compiler/debugger/debuginfoDumper.cpp",
493af6ab5fSopenharmony_ci  "compiler/function/asyncFunctionBuilder.cpp",
503af6ab5fSopenharmony_ci  "compiler/function/asyncGeneratorFunctionBuilder.cpp",
513af6ab5fSopenharmony_ci  "compiler/function/functionBuilder.cpp",
523af6ab5fSopenharmony_ci  "compiler/function/generatorFunctionBuilder.cpp",
533af6ab5fSopenharmony_ci  "ir/astDump.cpp",
543af6ab5fSopenharmony_ci  "ir/base/annotation.cpp",
553af6ab5fSopenharmony_ci  "ir/base/catchClause.cpp",
563af6ab5fSopenharmony_ci  "ir/base/classDefinition.cpp",
573af6ab5fSopenharmony_ci  "ir/base/classProperty.cpp",
583af6ab5fSopenharmony_ci  "ir/base/classStaticBlock.cpp",
593af6ab5fSopenharmony_ci  "ir/base/decorator.cpp",
603af6ab5fSopenharmony_ci  "ir/base/metaProperty.cpp",
613af6ab5fSopenharmony_ci  "ir/base/methodDefinition.cpp",
623af6ab5fSopenharmony_ci  "ir/base/property.cpp",
633af6ab5fSopenharmony_ci  "ir/base/scriptFunction.cpp",
643af6ab5fSopenharmony_ci  "ir/base/spreadElement.cpp",
653af6ab5fSopenharmony_ci  "ir/base/templateElement.cpp",
663af6ab5fSopenharmony_ci  "ir/expression.cpp",
673af6ab5fSopenharmony_ci  "ir/expressions/arrayExpression.cpp",
683af6ab5fSopenharmony_ci  "ir/expressions/arrowFunctionExpression.cpp",
693af6ab5fSopenharmony_ci  "ir/expressions/assignmentExpression.cpp",
703af6ab5fSopenharmony_ci  "ir/expressions/awaitExpression.cpp",
713af6ab5fSopenharmony_ci  "ir/expressions/binaryExpression.cpp",
723af6ab5fSopenharmony_ci  "ir/expressions/callExpression.cpp",
733af6ab5fSopenharmony_ci  "ir/expressions/chainExpression.cpp",
743af6ab5fSopenharmony_ci  "ir/expressions/classExpression.cpp",
753af6ab5fSopenharmony_ci  "ir/expressions/conditionalExpression.cpp",
763af6ab5fSopenharmony_ci  "ir/expressions/functionExpression.cpp",
773af6ab5fSopenharmony_ci  "ir/expressions/identifier.cpp",
783af6ab5fSopenharmony_ci  "ir/expressions/importExpression.cpp",
793af6ab5fSopenharmony_ci  "ir/expressions/literal.cpp",
803af6ab5fSopenharmony_ci  "ir/expressions/literals/bigIntLiteral.cpp",
813af6ab5fSopenharmony_ci  "ir/expressions/literals/booleanLiteral.cpp",
823af6ab5fSopenharmony_ci  "ir/expressions/literals/nullLiteral.cpp",
833af6ab5fSopenharmony_ci  "ir/expressions/literals/numberLiteral.cpp",
843af6ab5fSopenharmony_ci  "ir/expressions/literals/regExpLiteral.cpp",
853af6ab5fSopenharmony_ci  "ir/expressions/literals/stringLiteral.cpp",
863af6ab5fSopenharmony_ci  "ir/expressions/literals/taggedLiteral.cpp",
873af6ab5fSopenharmony_ci  "ir/expressions/memberExpression.cpp",
883af6ab5fSopenharmony_ci  "ir/expressions/newExpression.cpp",
893af6ab5fSopenharmony_ci  "ir/expressions/objectExpression.cpp",
903af6ab5fSopenharmony_ci  "ir/expressions/omittedExpression.cpp",
913af6ab5fSopenharmony_ci  "ir/expressions/privateIdentifier.cpp",
923af6ab5fSopenharmony_ci  "ir/expressions/sequenceExpression.cpp",
933af6ab5fSopenharmony_ci  "ir/expressions/superExpression.cpp",
943af6ab5fSopenharmony_ci  "ir/expressions/taggedTemplateExpression.cpp",
953af6ab5fSopenharmony_ci  "ir/expressions/templateLiteral.cpp",
963af6ab5fSopenharmony_ci  "ir/expressions/thisExpression.cpp",
973af6ab5fSopenharmony_ci  "ir/expressions/typeArgumentsExpression.cpp",
983af6ab5fSopenharmony_ci  "ir/expressions/unaryExpression.cpp",
993af6ab5fSopenharmony_ci  "ir/expressions/updateExpression.cpp",
1003af6ab5fSopenharmony_ci  "ir/expressions/yieldExpression.cpp",
1013af6ab5fSopenharmony_ci  "ir/module/assertClause.cpp",
1023af6ab5fSopenharmony_ci  "ir/module/assertEntry.cpp",
1033af6ab5fSopenharmony_ci  "ir/module/exportAllDeclaration.cpp",
1043af6ab5fSopenharmony_ci  "ir/module/exportDefaultDeclaration.cpp",
1053af6ab5fSopenharmony_ci  "ir/module/exportNamedDeclaration.cpp",
1063af6ab5fSopenharmony_ci  "ir/module/exportSpecifier.cpp",
1073af6ab5fSopenharmony_ci  "ir/module/importDeclaration.cpp",
1083af6ab5fSopenharmony_ci  "ir/module/importDefaultSpecifier.cpp",
1093af6ab5fSopenharmony_ci  "ir/module/importNamespaceSpecifier.cpp",
1103af6ab5fSopenharmony_ci  "ir/module/importSpecifier.cpp",
1113af6ab5fSopenharmony_ci  "ir/statement.cpp",
1123af6ab5fSopenharmony_ci  "ir/statements/blockStatement.cpp",
1133af6ab5fSopenharmony_ci  "ir/statements/breakStatement.cpp",
1143af6ab5fSopenharmony_ci  "ir/statements/classDeclaration.cpp",
1153af6ab5fSopenharmony_ci  "ir/statements/continueStatement.cpp",
1163af6ab5fSopenharmony_ci  "ir/statements/debuggerStatement.cpp",
1173af6ab5fSopenharmony_ci  "ir/statements/doWhileStatement.cpp",
1183af6ab5fSopenharmony_ci  "ir/statements/emptyStatement.cpp",
1193af6ab5fSopenharmony_ci  "ir/statements/expressionStatement.cpp",
1203af6ab5fSopenharmony_ci  "ir/statements/forInStatement.cpp",
1213af6ab5fSopenharmony_ci  "ir/statements/forOfStatement.cpp",
1223af6ab5fSopenharmony_ci  "ir/statements/forUpdateStatement.cpp",
1233af6ab5fSopenharmony_ci  "ir/statements/functionDeclaration.cpp",
1243af6ab5fSopenharmony_ci  "ir/statements/ifStatement.cpp",
1253af6ab5fSopenharmony_ci  "ir/statements/labelledStatement.cpp",
1263af6ab5fSopenharmony_ci  "ir/statements/loopStatement.cpp",
1273af6ab5fSopenharmony_ci  "ir/statements/returnStatement.cpp",
1283af6ab5fSopenharmony_ci  "ir/statements/switchCaseStatement.cpp",
1293af6ab5fSopenharmony_ci  "ir/statements/switchStatement.cpp",
1303af6ab5fSopenharmony_ci  "ir/statements/throwStatement.cpp",
1313af6ab5fSopenharmony_ci  "ir/statements/tryStatement.cpp",
1323af6ab5fSopenharmony_ci  "ir/statements/variableDeclaration.cpp",
1333af6ab5fSopenharmony_ci  "ir/statements/variableDeclarator.cpp",
1343af6ab5fSopenharmony_ci  "ir/statements/whileStatement.cpp",
1353af6ab5fSopenharmony_ci  "ir/ts/tsAnyKeyword.cpp",
1363af6ab5fSopenharmony_ci  "ir/ts/tsArrayType.cpp",
1373af6ab5fSopenharmony_ci  "ir/ts/tsAsExpression.cpp",
1383af6ab5fSopenharmony_ci  "ir/ts/tsBigintKeyword.cpp",
1393af6ab5fSopenharmony_ci  "ir/ts/tsBooleanKeyword.cpp",
1403af6ab5fSopenharmony_ci  "ir/ts/tsClassImplements.cpp",
1413af6ab5fSopenharmony_ci  "ir/ts/tsConditionalType.cpp",
1423af6ab5fSopenharmony_ci  "ir/ts/tsConstructorType.cpp",
1433af6ab5fSopenharmony_ci  "ir/ts/tsEnumDeclaration.cpp",
1443af6ab5fSopenharmony_ci  "ir/ts/tsEnumMember.cpp",
1453af6ab5fSopenharmony_ci  "ir/ts/tsExternalModuleReference.cpp",
1463af6ab5fSopenharmony_ci  "ir/ts/tsFunctionType.cpp",
1473af6ab5fSopenharmony_ci  "ir/ts/tsImportEqualsDeclaration.cpp",
1483af6ab5fSopenharmony_ci  "ir/ts/tsImportType.cpp",
1493af6ab5fSopenharmony_ci  "ir/ts/tsIndexSignature.cpp",
1503af6ab5fSopenharmony_ci  "ir/ts/tsIndexedAccessType.cpp",
1513af6ab5fSopenharmony_ci  "ir/ts/tsInferType.cpp",
1523af6ab5fSopenharmony_ci  "ir/ts/tsInterfaceBody.cpp",
1533af6ab5fSopenharmony_ci  "ir/ts/tsInterfaceDeclaration.cpp",
1543af6ab5fSopenharmony_ci  "ir/ts/tsInterfaceHeritage.cpp",
1553af6ab5fSopenharmony_ci  "ir/ts/tsIntersectionType.cpp",
1563af6ab5fSopenharmony_ci  "ir/ts/tsLiteralType.cpp",
1573af6ab5fSopenharmony_ci  "ir/ts/tsMappedType.cpp",
1583af6ab5fSopenharmony_ci  "ir/ts/tsMethodSignature.cpp",
1593af6ab5fSopenharmony_ci  "ir/ts/tsModuleBlock.cpp",
1603af6ab5fSopenharmony_ci  "ir/ts/tsModuleDeclaration.cpp",
1613af6ab5fSopenharmony_ci  "ir/ts/tsNamedTupleMember.cpp",
1623af6ab5fSopenharmony_ci  "ir/ts/tsNamespaceExportDeclaration.cpp",
1633af6ab5fSopenharmony_ci  "ir/ts/tsNeverKeyword.cpp",
1643af6ab5fSopenharmony_ci  "ir/ts/tsNonNullExpression.cpp",
1653af6ab5fSopenharmony_ci  "ir/ts/tsNullKeyword.cpp",
1663af6ab5fSopenharmony_ci  "ir/ts/tsNumberKeyword.cpp",
1673af6ab5fSopenharmony_ci  "ir/ts/tsObjectKeyword.cpp",
1683af6ab5fSopenharmony_ci  "ir/ts/tsOptionalType.cpp",
1693af6ab5fSopenharmony_ci  "ir/ts/tsParameterProperty.cpp",
1703af6ab5fSopenharmony_ci  "ir/ts/tsParenthesizedType.cpp",
1713af6ab5fSopenharmony_ci  "ir/ts/tsPrivateIdentifier.cpp",
1723af6ab5fSopenharmony_ci  "ir/ts/tsPropertySignature.cpp",
1733af6ab5fSopenharmony_ci  "ir/ts/tsQualifiedName.cpp",
1743af6ab5fSopenharmony_ci  "ir/ts/tsRestType.cpp",
1753af6ab5fSopenharmony_ci  "ir/ts/tsSatisfiesExpression.cpp",
1763af6ab5fSopenharmony_ci  "ir/ts/tsSignatureDeclaration.cpp",
1773af6ab5fSopenharmony_ci  "ir/ts/tsStringKeyword.cpp",
1783af6ab5fSopenharmony_ci  "ir/ts/tsSymbolKeyword.cpp",
1793af6ab5fSopenharmony_ci  "ir/ts/tsTemplateLiteralType.cpp",
1803af6ab5fSopenharmony_ci  "ir/ts/tsThisType.cpp",
1813af6ab5fSopenharmony_ci  "ir/ts/tsTupleType.cpp",
1823af6ab5fSopenharmony_ci  "ir/ts/tsTypeAliasDeclaration.cpp",
1833af6ab5fSopenharmony_ci  "ir/ts/tsTypeAssertion.cpp",
1843af6ab5fSopenharmony_ci  "ir/ts/tsTypeLiteral.cpp",
1853af6ab5fSopenharmony_ci  "ir/ts/tsTypeOperator.cpp",
1863af6ab5fSopenharmony_ci  "ir/ts/tsTypeParameter.cpp",
1873af6ab5fSopenharmony_ci  "ir/ts/tsTypeParameterDeclaration.cpp",
1883af6ab5fSopenharmony_ci  "ir/ts/tsTypeParameterInstantiation.cpp",
1893af6ab5fSopenharmony_ci  "ir/ts/tsTypePredicate.cpp",
1903af6ab5fSopenharmony_ci  "ir/ts/tsTypeQuery.cpp",
1913af6ab5fSopenharmony_ci  "ir/ts/tsTypeReference.cpp",
1923af6ab5fSopenharmony_ci  "ir/ts/tsUndefinedKeyword.cpp",
1933af6ab5fSopenharmony_ci  "ir/ts/tsUnionType.cpp",
1943af6ab5fSopenharmony_ci  "ir/ts/tsUnknownKeyword.cpp",
1953af6ab5fSopenharmony_ci  "ir/ts/tsVoidKeyword.cpp",
1963af6ab5fSopenharmony_ci  "lexer/keywordsUtil.cpp",
1973af6ab5fSopenharmony_ci  "lexer/lexer.cpp",
1983af6ab5fSopenharmony_ci  "lexer/regexp/regexp.cpp",
1993af6ab5fSopenharmony_ci  "lexer/token/sourceLocation.cpp",
2003af6ab5fSopenharmony_ci  "lexer/token/token.cpp",
2013af6ab5fSopenharmony_ci  "parser/commonjs.cpp",
2023af6ab5fSopenharmony_ci  "parser/context/parserContext.cpp",
2033af6ab5fSopenharmony_ci  "parser/expressionParser.cpp",
2043af6ab5fSopenharmony_ci  "parser/module/sourceTextModuleRecord.cpp",
2053af6ab5fSopenharmony_ci  "parser/parserImpl.cpp",
2063af6ab5fSopenharmony_ci  "parser/program/program.cpp",
2073af6ab5fSopenharmony_ci  "parser/statementParser.cpp",
2083af6ab5fSopenharmony_ci  "parser/transformer/transformer.cpp",
2093af6ab5fSopenharmony_ci  "typescript/checker.cpp",
2103af6ab5fSopenharmony_ci  "typescript/core/binaryLikeExpression.cpp",
2113af6ab5fSopenharmony_ci  "typescript/core/destructuringContext.cpp",
2123af6ab5fSopenharmony_ci  "typescript/core/function.cpp",
2133af6ab5fSopenharmony_ci  "typescript/core/helpers.cpp",
2143af6ab5fSopenharmony_ci  "typescript/core/object.cpp",
2153af6ab5fSopenharmony_ci  "typescript/core/typeCreation.cpp",
2163af6ab5fSopenharmony_ci  "typescript/core/typeElaborationContext.cpp",
2173af6ab5fSopenharmony_ci  "typescript/core/typeRelation.cpp",
2183af6ab5fSopenharmony_ci  "typescript/core/util.cpp",
2193af6ab5fSopenharmony_ci  "typescript/types/anyType.cpp",
2203af6ab5fSopenharmony_ci  "typescript/types/arrayType.cpp",
2213af6ab5fSopenharmony_ci  "typescript/types/bigintLiteralType.cpp",
2223af6ab5fSopenharmony_ci  "typescript/types/bigintType.cpp",
2233af6ab5fSopenharmony_ci  "typescript/types/booleanLiteralType.cpp",
2243af6ab5fSopenharmony_ci  "typescript/types/booleanType.cpp",
2253af6ab5fSopenharmony_ci  "typescript/types/constructorType.cpp",
2263af6ab5fSopenharmony_ci  "typescript/types/enumLiteralType.cpp",
2273af6ab5fSopenharmony_ci  "typescript/types/enumType.cpp",
2283af6ab5fSopenharmony_ci  "typescript/types/functionType.cpp",
2293af6ab5fSopenharmony_ci  "typescript/types/globalTypesHolder.cpp",
2303af6ab5fSopenharmony_ci  "typescript/types/indexInfo.cpp",
2313af6ab5fSopenharmony_ci  "typescript/types/interfaceType.cpp",
2323af6ab5fSopenharmony_ci  "typescript/types/neverType.cpp",
2333af6ab5fSopenharmony_ci  "typescript/types/nonPrimitiveType.cpp",
2343af6ab5fSopenharmony_ci  "typescript/types/nullType.cpp",
2353af6ab5fSopenharmony_ci  "typescript/types/numberLiteralType.cpp",
2363af6ab5fSopenharmony_ci  "typescript/types/numberType.cpp",
2373af6ab5fSopenharmony_ci  "typescript/types/objectDescriptor.cpp",
2383af6ab5fSopenharmony_ci  "typescript/types/objectLiteralType.cpp",
2393af6ab5fSopenharmony_ci  "typescript/types/objectType.cpp",
2403af6ab5fSopenharmony_ci  "typescript/types/signature.cpp",
2413af6ab5fSopenharmony_ci  "typescript/types/stringLiteralType.cpp",
2423af6ab5fSopenharmony_ci  "typescript/types/stringType.cpp",
2433af6ab5fSopenharmony_ci  "typescript/types/symbolType.cpp",
2443af6ab5fSopenharmony_ci  "typescript/types/tupleType.cpp",
2453af6ab5fSopenharmony_ci  "typescript/types/type.cpp",
2463af6ab5fSopenharmony_ci  "typescript/types/typeParameter.cpp",
2473af6ab5fSopenharmony_ci  "typescript/types/typeReference.cpp",
2483af6ab5fSopenharmony_ci  "typescript/types/typeRelation.cpp",
2493af6ab5fSopenharmony_ci  "typescript/types/undefinedType.cpp",
2503af6ab5fSopenharmony_ci  "typescript/types/unionType.cpp",
2513af6ab5fSopenharmony_ci  "typescript/types/unknownType.cpp",
2523af6ab5fSopenharmony_ci  "typescript/types/voidType.cpp",
2533af6ab5fSopenharmony_ci  "util/base64.cpp",
2543af6ab5fSopenharmony_ci  "util/bitset.cpp",
2553af6ab5fSopenharmony_ci  "util/concurrent.cpp",
2563af6ab5fSopenharmony_ci  "util/dumper.cpp",
2573af6ab5fSopenharmony_ci  "util/helpers.cpp",
2583af6ab5fSopenharmony_ci  "util/patchFix.cpp",
2593af6ab5fSopenharmony_ci  "util/moduleHelpers.cpp",
2603af6ab5fSopenharmony_ci  "util/symbolTable.cpp",
2613af6ab5fSopenharmony_ci  "util/ustring.cpp",
2623af6ab5fSopenharmony_ci  "util/workerQueue.cpp",
2633af6ab5fSopenharmony_ci  "util/commonUtil.cpp",
2643af6ab5fSopenharmony_ci]
2653af6ab5fSopenharmony_ci
2663af6ab5fSopenharmony_ciconfig("es2abc_config_src") {
2673af6ab5fSopenharmony_ci  include_dirs = [
2683af6ab5fSopenharmony_ci    "./",
2693af6ab5fSopenharmony_ci    "./binder",
2703af6ab5fSopenharmony_ci    "./util",
2713af6ab5fSopenharmony_ci    "./compiler/base",
2723af6ab5fSopenharmony_ci    "./compiler/core",
2733af6ab5fSopenharmony_ci    "./compiler/debugger",
2743af6ab5fSopenharmony_ci    "./compiler/function",
2753af6ab5fSopenharmony_ci    "./ir",
2763af6ab5fSopenharmony_ci    "./ir/base",
2773af6ab5fSopenharmony_ci    "./ir/expressions",
2783af6ab5fSopenharmony_ci    "./ir/module",
2793af6ab5fSopenharmony_ci    "./ir/statements",
2803af6ab5fSopenharmony_ci    "./ir/ts",
2813af6ab5fSopenharmony_ci    "./parser",
2823af6ab5fSopenharmony_ci    "./parser/context",
2833af6ab5fSopenharmony_ci    "./lexer",
2843af6ab5fSopenharmony_ci    "./lexer/token",
2853af6ab5fSopenharmony_ci    "./lexer/regexp",
2863af6ab5fSopenharmony_ci    "./typescript",
2873af6ab5fSopenharmony_ci    "./typescript/types",
2883af6ab5fSopenharmony_ci  ]
2893af6ab5fSopenharmony_ci
2903af6ab5fSopenharmony_ci  cflags = [ "-fexceptions" ]
2913af6ab5fSopenharmony_ci}
2923af6ab5fSopenharmony_ci
2933af6ab5fSopenharmony_ciconfig("es2abc_config_common") {
2943af6ab5fSopenharmony_ci  configs = [
2953af6ab5fSopenharmony_ci    "$ark_root:ark_config",
2963af6ab5fSopenharmony_ci    "$sdk_libc_secshared_config",
2973af6ab5fSopenharmony_ci    "$ark_root/libpandafile:arkfile_public_config",
2983af6ab5fSopenharmony_ci    "$ark_root/libpandabase:arkbase_public_config",
2993af6ab5fSopenharmony_ci    "$ark_root/assembler:arkassembler_public_config",
3003af6ab5fSopenharmony_ci    "$ark_root/abc2program:abc2program_public_config",
3013af6ab5fSopenharmony_ci    "$ark_third_party_root/json:nlohmann_json_config",
3023af6ab5fSopenharmony_ci    ":es2abc_config_src",
3033af6ab5fSopenharmony_ci  ]
3043af6ab5fSopenharmony_ci
3053af6ab5fSopenharmony_ci  if (enable_bytecode_optimizer) {
3063af6ab5fSopenharmony_ci    defines = [ "ENABLE_BYTECODE_OPT" ]
3073af6ab5fSopenharmony_ci    configs += [
3083af6ab5fSopenharmony_ci      "$ark_root/compiler:arkcompiler_public_config",
3093af6ab5fSopenharmony_ci      "$ark_root/bytecode_optimizer:bytecodeopt_public_config",
3103af6ab5fSopenharmony_ci    ]
3113af6ab5fSopenharmony_ci  }
3123af6ab5fSopenharmony_ci}
3133af6ab5fSopenharmony_ci
3143af6ab5fSopenharmony_ci# generate headers for es2panda parser
3153af6ab5fSopenharmony_cigenerated_header_dir = "${target_out_dir}/gen"
3163af6ab5fSopenharmony_ciaction_foreach("gen_keywords_headers") {
3173af6ab5fSopenharmony_ci  template_files = [
3183af6ab5fSopenharmony_ci    "keywords.h.erb",
3193af6ab5fSopenharmony_ci    "keywordsMap.h.erb",
3203af6ab5fSopenharmony_ci  ]
3213af6ab5fSopenharmony_ci  keywords_templates_dir = "./lexer/templates"
3223af6ab5fSopenharmony_ci  keywords_generator = "./lexer/scripts/keywords.rb"
3233af6ab5fSopenharmony_ci
3243af6ab5fSopenharmony_ci  sources = []
3253af6ab5fSopenharmony_ci  foreach(file, template_files) {
3263af6ab5fSopenharmony_ci    sources += [ rebase_path("${keywords_templates_dir}/${file}") ]
3273af6ab5fSopenharmony_ci  }
3283af6ab5fSopenharmony_ci  outputs = [ "${generated_header_dir}/{{source_name_part}}" ]
3293af6ab5fSopenharmony_ci
3303af6ab5fSopenharmony_ci  script = "scripts/gen_keywords.sh"
3313af6ab5fSopenharmony_ci  inputs = [ "${keywords_generator}" ]
3323af6ab5fSopenharmony_ci  args = [
3333af6ab5fSopenharmony_ci    "-g",
3343af6ab5fSopenharmony_ci    rebase_path("${keywords_generator}"),
3353af6ab5fSopenharmony_ci    "-t",
3363af6ab5fSopenharmony_ci    "{{source}}",
3373af6ab5fSopenharmony_ci    "-o",
3383af6ab5fSopenharmony_ci    "{{source_name_part}}",
3393af6ab5fSopenharmony_ci    "-d",
3403af6ab5fSopenharmony_ci    rebase_path("${generated_header_dir}"),
3413af6ab5fSopenharmony_ci  ]
3423af6ab5fSopenharmony_ci}
3433af6ab5fSopenharmony_ci
3443af6ab5fSopenharmony_ci# generate headers for es2panda compiler
3453af6ab5fSopenharmony_ciisa_gen = "${ark_root}/isa/gen.rb"
3463af6ab5fSopenharmony_ciisa_gen_data = "$root_gen_dir/isa/isa.yaml"
3473af6ab5fSopenharmony_ciisa_gen_require = "${ark_root}/isa/isapi.rb"
3483af6ab5fSopenharmony_ciaction_foreach("gen_isa_headers") {
3493af6ab5fSopenharmony_ci  deps = [ "//arkcompiler/runtime_core/isa:isa_combine" ]
3503af6ab5fSopenharmony_ci
3513af6ab5fSopenharmony_ci  template_files = [
3523af6ab5fSopenharmony_ci    "isa.h.erb",
3533af6ab5fSopenharmony_ci    "formats.h.erb",
3543af6ab5fSopenharmony_ci  ]
3553af6ab5fSopenharmony_ci  keywords_templates_dir = "./compiler/templates"
3563af6ab5fSopenharmony_ci
3573af6ab5fSopenharmony_ci  sources = []
3583af6ab5fSopenharmony_ci  foreach(file, template_files) {
3593af6ab5fSopenharmony_ci    sources += [ rebase_path("${keywords_templates_dir}/${file}") ]
3603af6ab5fSopenharmony_ci  }
3613af6ab5fSopenharmony_ci  outputs = [ "${generated_header_dir}/{{source_name_part}}" ]
3623af6ab5fSopenharmony_ci
3633af6ab5fSopenharmony_ci  script = "scripts/gen_isa.sh"
3643af6ab5fSopenharmony_ci  inputs = [
3653af6ab5fSopenharmony_ci    "${isa_gen}",
3663af6ab5fSopenharmony_ci    "${isa_gen_data}",
3673af6ab5fSopenharmony_ci    "${isa_gen_require}",
3683af6ab5fSopenharmony_ci  ]
3693af6ab5fSopenharmony_ci  args = [
3703af6ab5fSopenharmony_ci    "-g",
3713af6ab5fSopenharmony_ci    rebase_path("${isa_gen}"),
3723af6ab5fSopenharmony_ci    "-t",
3733af6ab5fSopenharmony_ci    "{{source}}",
3743af6ab5fSopenharmony_ci    "-a",
3753af6ab5fSopenharmony_ci    rebase_path("${isa_gen_data}"),
3763af6ab5fSopenharmony_ci    "-o",
3773af6ab5fSopenharmony_ci    "{{source_name_part}}",
3783af6ab5fSopenharmony_ci    "-d",
3793af6ab5fSopenharmony_ci    rebase_path("${generated_header_dir}"),
3803af6ab5fSopenharmony_ci    "-r",
3813af6ab5fSopenharmony_ci    rebase_path("${isa_gen_require}"),
3823af6ab5fSopenharmony_ci  ]
3833af6ab5fSopenharmony_ci}
3843af6ab5fSopenharmony_ci
3853af6ab5fSopenharmony_ciohos_static_library("es2panda_lib") {
3863af6ab5fSopenharmony_ci  sources = es2panda_src
3873af6ab5fSopenharmony_ci  use_exceptions = true
3883af6ab5fSopenharmony_ci  if (is_mac && current_cpu == "arm64") {
3893af6ab5fSopenharmony_ci    use_rtti = true
3903af6ab5fSopenharmony_ci  }
3913af6ab5fSopenharmony_ci
3923af6ab5fSopenharmony_ci  configs = [
3933af6ab5fSopenharmony_ci    ":es2abc_config_common",
3943af6ab5fSopenharmony_ci    "../merge_abc:panda_assembly_proto_public_config",
3953af6ab5fSopenharmony_ci  ]
3963af6ab5fSopenharmony_ci
3973af6ab5fSopenharmony_ci  include_dirs = [
3983af6ab5fSopenharmony_ci    "${target_out_dir}",
3993af6ab5fSopenharmony_ci    "//third_party/icu/icu4c/source/common",
4003af6ab5fSopenharmony_ci    "//third_party/icu/icu4c/source/i18n",
4013af6ab5fSopenharmony_ci    "//third_party/icu/icu4c/source",
4023af6ab5fSopenharmony_ci  ]
4033af6ab5fSopenharmony_ci
4043af6ab5fSopenharmony_ci  deps = [
4053af6ab5fSopenharmony_ci    ":gen_isa_headers",
4063af6ab5fSopenharmony_ci    ":gen_keywords_headers",
4073af6ab5fSopenharmony_ci    "$ark_third_party_root/icu/icu4c:static_icuuc",
4083af6ab5fSopenharmony_ci    "../merge_abc:panda_assembly_proto_static",
4093af6ab5fSopenharmony_ci  ]
4103af6ab5fSopenharmony_ci
4113af6ab5fSopenharmony_ci  external_deps = []
4123af6ab5fSopenharmony_ci  if (!is_arkui_x) {
4133af6ab5fSopenharmony_ci    external_deps += [
4143af6ab5fSopenharmony_ci      "json:nlohmann_json_static",
4153af6ab5fSopenharmony_ci      "runtime_core:abc2program_frontend_static",
4163af6ab5fSopenharmony_ci      "runtime_core:libarkassembler_frontend_static",
4173af6ab5fSopenharmony_ci      "runtime_core:libarkbase_frontend_static",
4183af6ab5fSopenharmony_ci      "runtime_core:libarkfile_frontend_static",
4193af6ab5fSopenharmony_ci      "runtime_core:libarkziparchive_frontend_static",
4203af6ab5fSopenharmony_ci    ]
4213af6ab5fSopenharmony_ci
4223af6ab5fSopenharmony_ci    if (enable_bytecode_optimizer) {
4233af6ab5fSopenharmony_ci      external_deps += [
4243af6ab5fSopenharmony_ci        "runtime_core:libarkbytecodeopt_frontend_static",
4253af6ab5fSopenharmony_ci        "runtime_core:libarkcompiler_frontend_static",
4263af6ab5fSopenharmony_ci      ]
4273af6ab5fSopenharmony_ci    }
4283af6ab5fSopenharmony_ci  } else {
4293af6ab5fSopenharmony_ci    deps += [
4303af6ab5fSopenharmony_ci      "$ark_root/abc2program:abc2program_frontend_static",
4313af6ab5fSopenharmony_ci      "$ark_root/assembler:libarkassembler_frontend_static",
4323af6ab5fSopenharmony_ci      "$ark_root/libpandabase:libarkbase_frontend_static",
4333af6ab5fSopenharmony_ci      "$ark_root/libpandafile:libarkfile_frontend_static",
4343af6ab5fSopenharmony_ci      "$ark_root/libziparchive:libarkziparchive_frontend_static",
4353af6ab5fSopenharmony_ci      "$ark_third_party_root/json:nlohmann_json_static",
4363af6ab5fSopenharmony_ci    ]
4373af6ab5fSopenharmony_ci    if (enable_bytecode_optimizer) {
4383af6ab5fSopenharmony_ci      deps += [
4393af6ab5fSopenharmony_ci        "$ark_root/bytecode_optimizer:libarkbytecodeopt_frontend_static",
4403af6ab5fSopenharmony_ci        "$ark_root/compiler:libarkcompiler_frontend_static",
4413af6ab5fSopenharmony_ci      ]
4423af6ab5fSopenharmony_ci    }
4433af6ab5fSopenharmony_ci  }
4443af6ab5fSopenharmony_ci
4453af6ab5fSopenharmony_ci  cflags = [
4463af6ab5fSopenharmony_ci    "-Wno-c++20-designator",
4473af6ab5fSopenharmony_ci    "-Wno-implicit-fallthrough",
4483af6ab5fSopenharmony_ci  ]
4493af6ab5fSopenharmony_ci
4503af6ab5fSopenharmony_ci  part_name = "ets_frontend"
4513af6ab5fSopenharmony_ci  subsystem_name = "arkcompiler"
4523af6ab5fSopenharmony_ci}
4533af6ab5fSopenharmony_ci
4543af6ab5fSopenharmony_ciohos_executable("es2panda") {
4553af6ab5fSopenharmony_ci  use_exceptions = true
4563af6ab5fSopenharmony_ci  if (is_mac && current_cpu == "arm64") {
4573af6ab5fSopenharmony_ci    use_rtti = true
4583af6ab5fSopenharmony_ci  }
4593af6ab5fSopenharmony_ci
4603af6ab5fSopenharmony_ci  sources = [
4613af6ab5fSopenharmony_ci    "aot/emitFiles.cpp",
4623af6ab5fSopenharmony_ci    "aot/main.cpp",
4633af6ab5fSopenharmony_ci    "aot/options.cpp",
4643af6ab5fSopenharmony_ci    "aot/resolveDepsRelation.cpp",
4653af6ab5fSopenharmony_ci  ]
4663af6ab5fSopenharmony_ci
4673af6ab5fSopenharmony_ci  include_dirs = [ "./aot" ]
4683af6ab5fSopenharmony_ci
4693af6ab5fSopenharmony_ci  configs = [
4703af6ab5fSopenharmony_ci    ":es2abc_config_common",
4713af6ab5fSopenharmony_ci    "//arkcompiler/ets_frontend/merge_abc:panda_assembly_proto_public_config",
4723af6ab5fSopenharmony_ci  ]
4733af6ab5fSopenharmony_ci
4743af6ab5fSopenharmony_ci  deps = [
4753af6ab5fSopenharmony_ci    ":es2panda_lib",
4763af6ab5fSopenharmony_ci    "//arkcompiler/ets_frontend/merge_abc:panda_assembly_proto_static",
4773af6ab5fSopenharmony_ci  ]
4783af6ab5fSopenharmony_ci
4793af6ab5fSopenharmony_ci  external_deps = [ "zlib:libz" ]
4803af6ab5fSopenharmony_ci
4813af6ab5fSopenharmony_ci  ldflags = []
4823af6ab5fSopenharmony_ci  if (is_linux) {
4833af6ab5fSopenharmony_ci    if (build_public_version) {
4843af6ab5fSopenharmony_ci      ldflags += [ "-Wl,-Bstatic" ]
4853af6ab5fSopenharmony_ci      ldflags += [ "-lstdc++" ]
4863af6ab5fSopenharmony_ci      ldflags += [ "-Wl,-Bdynamic" ]
4873af6ab5fSopenharmony_ci    } else {
4883af6ab5fSopenharmony_ci      libs = [ libcpp_static_lib ]
4893af6ab5fSopenharmony_ci    }
4903af6ab5fSopenharmony_ci  }
4913af6ab5fSopenharmony_ci
4923af6ab5fSopenharmony_ci  # The default stack size of the Windows platform is 1024 kb, which might lead to stack overflow.
4933af6ab5fSopenharmony_ci  # Here is to set the stack size of es2abc.exe to 10M, which is the default value for Linux platform.
4943af6ab5fSopenharmony_ci  if (is_mingw) {
4953af6ab5fSopenharmony_ci    ldflags += [ "-Wl,--stack,10485760" ]
4963af6ab5fSopenharmony_ci  }
4973af6ab5fSopenharmony_ci
4983af6ab5fSopenharmony_ci  output_name = "es2abc"
4993af6ab5fSopenharmony_ci  install_enable = false
5003af6ab5fSopenharmony_ci  part_name = "ets_frontend"
5013af6ab5fSopenharmony_ci  subsystem_name = "arkcompiler"
5023af6ab5fSopenharmony_ci}
5033af6ab5fSopenharmony_ci
5043af6ab5fSopenharmony_ciif (is_linux || (is_build_sdk && is_ohos)) {
5053af6ab5fSopenharmony_ci  ohos_copy("es2abc_build") {
5063af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5073af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5083af6ab5fSopenharmony_ci    outputs = [ "${target_out_dir}/es2abc-tmp" ]
5093af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5103af6ab5fSopenharmony_ci    module_install_name = "es2abc"
5113af6ab5fSopenharmony_ci  }
5123af6ab5fSopenharmony_ci
5133af6ab5fSopenharmony_ci  ohos_copy("es2abc_build_ets") {
5143af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5153af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5163af6ab5fSopenharmony_ci    outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-ets" ]
5173af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5183af6ab5fSopenharmony_ci    module_install_name = "es2abc"
5193af6ab5fSopenharmony_ci  }
5203af6ab5fSopenharmony_ci}
5213af6ab5fSopenharmony_ci
5223af6ab5fSopenharmony_ciif (is_mingw) {
5233af6ab5fSopenharmony_ci  ohos_copy("es2abc_build_win") {
5243af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5253af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc.exe" ]
5263af6ab5fSopenharmony_ci    outputs = [ "${target_out_dir}/es2abc-tmp" ]
5273af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5283af6ab5fSopenharmony_ci    module_install_name = "es2abc.exe"
5293af6ab5fSopenharmony_ci  }
5303af6ab5fSopenharmony_ci
5313af6ab5fSopenharmony_ci  ohos_copy("es2abc_build_win_ets") {
5323af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5333af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc.exe" ]
5343af6ab5fSopenharmony_ci    outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-win-ets" ]
5353af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5363af6ab5fSopenharmony_ci    module_install_name = "es2abc.exe"
5373af6ab5fSopenharmony_ci  }
5383af6ab5fSopenharmony_ci}
5393af6ab5fSopenharmony_ci
5403af6ab5fSopenharmony_ciif (is_mac) {
5413af6ab5fSopenharmony_ci  ohos_copy("es2abc_build_mac") {
5423af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5433af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5443af6ab5fSopenharmony_ci    outputs = [ "${target_out_dir}/es2abc-tmp" ]
5453af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5463af6ab5fSopenharmony_ci    module_install_name = "es2abc"
5473af6ab5fSopenharmony_ci  }
5483af6ab5fSopenharmony_ci
5493af6ab5fSopenharmony_ci  ohos_copy("es2abc_build_mac_ets") {
5503af6ab5fSopenharmony_ci    deps = [ ":es2panda" ]
5513af6ab5fSopenharmony_ci    sources = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5523af6ab5fSopenharmony_ci    outputs = [ "${root_out_dir}/arkcompiler/ets_frontend/es2abc-mac-ets" ]
5533af6ab5fSopenharmony_ci    module_source_dir = "${root_out_dir}/arkcompiler/ets_frontend"
5543af6ab5fSopenharmony_ci    module_install_name = "es2abc"
5553af6ab5fSopenharmony_ci  }
5563af6ab5fSopenharmony_ci}
5573af6ab5fSopenharmony_ci
5583af6ab5fSopenharmony_ciif (is_linux) {
5593af6ab5fSopenharmony_ci  ohos_copy("build_es2abc_for_hap") {
5603af6ab5fSopenharmony_ci    deps = [ ":es2panda(${host_toolchain})" ]
5613af6ab5fSopenharmony_ci    es2abc_root_out_dir =
5623af6ab5fSopenharmony_ci        get_label_info(":es2panda_build($host_toolchain)", "root_out_dir")
5633af6ab5fSopenharmony_ci    es2abc_target_out_dir =
5643af6ab5fSopenharmony_ci        get_label_info(":es2panda_build($host_toolchain)", "target_out_dir")
5653af6ab5fSopenharmony_ci
5663af6ab5fSopenharmony_ci    sources = [ "${es2abc_root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5673af6ab5fSopenharmony_ci    outputs = [ "${es2abc_target_out_dir}/build/bin/es2abc" ]
5683af6ab5fSopenharmony_ci  }
5693af6ab5fSopenharmony_ci} else if (is_mac) {
5703af6ab5fSopenharmony_ci  ohos_copy("build_es2abc_for_hap") {
5713af6ab5fSopenharmony_ci    deps = [ ":es2panda(${host_toolchain})" ]
5723af6ab5fSopenharmony_ci    es2abc_root_out_dir =
5733af6ab5fSopenharmony_ci        get_label_info(":es2panda_build($host_toolchain)", "root_out_dir")
5743af6ab5fSopenharmony_ci    es2abc_target_out_dir =
5753af6ab5fSopenharmony_ci        get_label_info(":es2panda_build($host_toolchain)", "target_out_dir")
5763af6ab5fSopenharmony_ci
5773af6ab5fSopenharmony_ci    sources = [ "${es2abc_root_out_dir}/arkcompiler/ets_frontend/es2abc" ]
5783af6ab5fSopenharmony_ci    outputs = [ "${es2abc_target_out_dir}/build-mac/bin/es2abc" ]
5793af6ab5fSopenharmony_ci  }
5803af6ab5fSopenharmony_ci}
5813af6ab5fSopenharmony_ci
5823af6ab5fSopenharmony_ciohos_copy("panda_es2abc") {
5833af6ab5fSopenharmony_ci  sources = [ "${es2abc_root}/scripts/ts2abc.js" ]
5843af6ab5fSopenharmony_ci
5853af6ab5fSopenharmony_ci  outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ]
5863af6ab5fSopenharmony_ci  module_source_dir = target_out_dir + "/$target_name/"
5873af6ab5fSopenharmony_ci  module_install_name = ""
5883af6ab5fSopenharmony_ci
5893af6ab5fSopenharmony_ci  part_name = "ets_frontend"
5903af6ab5fSopenharmony_ci  subsystem_name = "arkcompiler"
5913af6ab5fSopenharmony_ci}
5923af6ab5fSopenharmony_ci
5933af6ab5fSopenharmony_ciohos_copy("panda_es2abc_ets") {
5943af6ab5fSopenharmony_ci  sources = [ "${es2abc_root}/scripts/ts2abc.js" ]
5953af6ab5fSopenharmony_ci  outputs = [ target_out_dir + "/$target_name/{{source_file_part}}" ]
5963af6ab5fSopenharmony_ci  module_source_dir = target_out_dir + "/$target_name/"
5973af6ab5fSopenharmony_ci  module_install_name = ""
5983af6ab5fSopenharmony_ci
5993af6ab5fSopenharmony_ci  part_name = "ets_frontend"
6003af6ab5fSopenharmony_ci  subsystem_name = "arkcompiler"
6013af6ab5fSopenharmony_ci}
6023af6ab5fSopenharmony_ci
6033af6ab5fSopenharmony_ciohos_copy("es2abc_js_file") {
6043af6ab5fSopenharmony_ci  sources = [ "${es2abc_root}/scripts/ts2abc.js" ]
6053af6ab5fSopenharmony_ci  outputs = [ target_out_dir + "/{{source_file_part}}" ]
6063af6ab5fSopenharmony_ci
6073af6ab5fSopenharmony_ci  part_name = "ets_frontend"
6083af6ab5fSopenharmony_ci  subsystem_name = "arkcompiler"
6093af6ab5fSopenharmony_ci}
6103af6ab5fSopenharmony_ci
6113af6ab5fSopenharmony_cigroup("es2panda_build") {
6123af6ab5fSopenharmony_ci  if (host_os == "linux") {
6133af6ab5fSopenharmony_ci    deps = [ ":es2panda(${toolchain_linux})" ]
6143af6ab5fSopenharmony_ci  }
6153af6ab5fSopenharmony_ci
6163af6ab5fSopenharmony_ci  if (host_os == "mac") {
6173af6ab5fSopenharmony_ci    deps = [ ":es2panda(${toolchain_mac})" ]
6183af6ab5fSopenharmony_ci  }
6193af6ab5fSopenharmony_ci
6203af6ab5fSopenharmony_ci  if (host_os == "ohos") {
6213af6ab5fSopenharmony_ci    deps = [ ":es2panda(${toolchain_ohos})" ]
6223af6ab5fSopenharmony_ci  }
6233af6ab5fSopenharmony_ci}
6243af6ab5fSopenharmony_ci
6253af6ab5fSopenharmony_cigroup("es2panda_build_win") {
6263af6ab5fSopenharmony_ci  deps = [ ":es2panda(${toolchain_win})" ]
6273af6ab5fSopenharmony_ci}
6283af6ab5fSopenharmony_ci
6293af6ab5fSopenharmony_cigroup("es2abc_tests") {
6303af6ab5fSopenharmony_ci  deps = [ "./test:es2abc_base64_tests" ]
6313af6ab5fSopenharmony_ci  deps += [ "./test:es2abc_compiler_tests" ]
6323af6ab5fSopenharmony_ci  deps += [ "./test:es2abc_parser_tests" ]
6333af6ab5fSopenharmony_ci  deps += [ "./test:es2abc_parser_tsc_tests" ]
6343af6ab5fSopenharmony_ci  deps += [ "./test:es2abc_patch_tests" ]
6353af6ab5fSopenharmony_ci  deps += [ "./test:es2abc_bytecode_tests" ]
6363af6ab5fSopenharmony_ci}
637