1# Copyright (c) 2021-2024 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/runtime_core/static_core/ark_config.gni") 15import("//build/ohos.gni") 16 17config("libes2panda_public_config") { 18 include_dirs = [ 19 "$target_gen_dir", 20 "$target_gen_dir/include", 21 "$target_gen_dir/generated", 22 "$ark_third_party_root/icu/icu4c/source/common", 23 "$ark_third_party_root/icu/icu4c/source/i18n", 24 "$ark_third_party_root/icu/icu4c/source/", 25 "$ark_es2panda_root", 26 ] 27} 28 29libes2panda_sources = [ 30 "ast_verifier/ASTVerifier.cpp", 31 "ast_verifier/arithmeticOperationValid.cpp", 32 "ast_verifier/checkContext.cpp", 33 "ast_verifier/checkInfiniteLoop.cpp", 34 "ast_verifier/everyChildHasValidParent.cpp", 35 "ast_verifier/everyChildInParentRange.cpp", 36 "ast_verifier/forLoopCorrectlyInitialized.cpp", 37 "ast_verifier/helpers.cpp", 38 "ast_verifier/identifierHasVariable.cpp", 39 "ast_verifier/importExportAccessValid.cpp", 40 "ast_verifier/modifierAccessValid.cpp", 41 "ast_verifier/nodeHasParent.cpp", 42 "ast_verifier/nodeHasSourceRange.cpp", 43 "ast_verifier/nodeHasType.cpp", 44 "ast_verifier/referenceTypeAnnotationIsNull.cpp", 45 "ast_verifier/sequenceExpressionHasLastType.cpp", 46 "ast_verifier/variableHasEnclosingScope.cpp", 47 "ast_verifier/variableHasScope.cpp", 48 "ast_verifier/variableNameIdentifierNameSame.cpp", 49 "checker/ASchecker.cpp", 50 "checker/ETSAnalyzer.cpp", 51 "checker/ETSAnalyzerHelpers.cpp", 52 "checker/ETSAnalyzerUnreachable.cpp", 53 "checker/ETSchecker.cpp", 54 "checker/JSchecker.cpp", 55 "checker/TSAnalyzer.cpp", 56 "checker/TSAnalyzerUnreachable.cpp", 57 "checker/TSchecker.cpp", 58 "checker/checker.cpp", 59 "checker/checkerContext.cpp", 60 "checker/ets/aliveAnalyzer.cpp", 61 "checker/ets/arithmetic.cpp", 62 "checker/ets/assignAnalyzer.cpp", 63 "checker/ets/baseAnalyzer.cpp", 64 "checker/ets/boxingConverter.cpp", 65 "checker/ets/castingContext.cpp", 66 "checker/ets/conversion.cpp", 67 "checker/ets/dynamic.cpp", 68 "checker/ets/dynamic/dynamicCall.cpp", 69 "checker/ets/etsWarningAnalyzer.cpp", 70 "checker/ets/function.cpp", 71 "checker/ets/helpers.cpp", 72 "checker/ets/narrowingConverter.cpp", 73 "checker/ets/narrowingWideningConverter.cpp", 74 "checker/ets/object.cpp", 75 "checker/ets/primitiveWrappers.cpp", 76 "checker/ets/typeCheckingHelpers.cpp", 77 "checker/ets/typeConverter.cpp", 78 "checker/ets/typeCreation.cpp", 79 "checker/ets/typeRelationContext.cpp", 80 "checker/ets/unboxingConverter.cpp", 81 "checker/ets/utilityTypeHandlers.cpp", 82 "checker/ets/validateHelpers.cpp", 83 "checker/ets/wideningConverter.cpp", 84 "checker/ts/binaryLikeExpression.cpp", 85 "checker/ts/destructuringContext.cpp", 86 "checker/ts/function.cpp", 87 "checker/ts/helpers.cpp", 88 "checker/ts/object.cpp", 89 "checker/ts/typeCreation.cpp", 90 "checker/ts/typeElaborationContext.cpp", 91 "checker/ts/util.cpp", 92 "checker/typeChecker/TypeChecker.cpp", 93 "checker/types/ets/byteType.cpp", 94 "checker/types/ets/charType.cpp", 95 "checker/types/ets/doubleType.cpp", 96 "checker/types/ets/etsArrayType.cpp", 97 "checker/types/ets/etsAsyncFuncReturnType.cpp", 98 "checker/types/ets/etsBigIntType.cpp", 99 "checker/types/ets/etsBooleanType.cpp", 100 "checker/types/ets/etsDynamicType.cpp", 101 "checker/types/ets/etsEnumType.cpp", 102 "checker/types/ets/etsExtensionFuncHelperType.cpp", 103 "checker/types/ets/etsFunctionType.cpp", 104 "checker/types/ets/etsNonNullishType.cpp", 105 "checker/types/ets/etsNullishTypes.cpp", 106 "checker/types/ets/etsObjectType.cpp", 107 "checker/types/ets/etsReadonlyType.cpp", 108 "checker/types/ets/etsStringType.cpp", 109 "checker/types/ets/etsTupleType.cpp", 110 "checker/types/ets/etsTypeParameter.cpp", 111 "checker/types/ets/etsUnionType.cpp", 112 "checker/types/ets/etsVoidType.cpp", 113 "checker/types/ets/floatType.cpp", 114 "checker/types/ets/intType.cpp", 115 "checker/types/ets/longType.cpp", 116 "checker/types/ets/shortType.cpp", 117 "checker/types/ets/wildcardType.cpp", 118 "checker/types/globalTypesHolder.cpp", 119 "checker/types/signature.cpp", 120 "checker/types/ts/anyType.cpp", 121 "checker/types/ts/arrayType.cpp", 122 "checker/types/ts/bigintLiteralType.cpp", 123 "checker/types/ts/bigintType.cpp", 124 "checker/types/ts/booleanLiteralType.cpp", 125 "checker/types/ts/booleanType.cpp", 126 "checker/types/ts/constructorType.cpp", 127 "checker/types/ts/enumLiteralType.cpp", 128 "checker/types/ts/enumType.cpp", 129 "checker/types/ts/functionType.cpp", 130 "checker/types/ts/indexInfo.cpp", 131 "checker/types/ts/interfaceType.cpp", 132 "checker/types/ts/neverType.cpp", 133 "checker/types/ts/nonPrimitiveType.cpp", 134 "checker/types/ts/nullType.cpp", 135 "checker/types/ts/numberLiteralType.cpp", 136 "checker/types/ts/numberType.cpp", 137 "checker/types/ts/objectDescriptor.cpp", 138 "checker/types/ts/objectLiteralType.cpp", 139 "checker/types/ts/objectType.cpp", 140 "checker/types/ts/stringLiteralType.cpp", 141 "checker/types/ts/stringType.cpp", 142 "checker/types/ts/tupleType.cpp", 143 "checker/types/ts/typeParameter.cpp", 144 "checker/types/ts/typeReference.cpp", 145 "checker/types/ts/undefinedType.cpp", 146 "checker/types/ts/unionType.cpp", 147 "checker/types/ts/unknownType.cpp", 148 "checker/types/ts/voidType.cpp", 149 "checker/types/type.cpp", 150 "checker/types/typeRelation.cpp", 151 "compiler/base/catchTable.cpp", 152 "compiler/base/condition.cpp", 153 "compiler/base/destructuring.cpp", 154 "compiler/base/hoisting.cpp", 155 "compiler/base/iterators.cpp", 156 "compiler/base/lexenv.cpp", 157 "compiler/base/literals.cpp", 158 "compiler/base/lreference.cpp", 159 "compiler/base/optionalChain.cpp", 160 "compiler/core/ETSCompiler.cpp", 161 "compiler/core/ETSCompilerUnrechable.cpp", 162 "compiler/core/ETSGen.cpp", 163 "compiler/core/ETSemitter.cpp", 164 "compiler/core/ETSfunction.cpp", 165 "compiler/core/JSCompiler.cpp", 166 "compiler/core/JSCompilerUnreachable.cpp", 167 "compiler/core/JSemitter.cpp", 168 "compiler/core/codeGen.cpp", 169 "compiler/core/compileJob.cpp", 170 "compiler/core/compileQueue.cpp", 171 "compiler/core/compilerImpl.cpp", 172 "compiler/core/dynamicContext.cpp", 173 "compiler/core/emitter.cpp", 174 "compiler/core/envScope.cpp", 175 "compiler/core/function.cpp", 176 "compiler/core/labelTarget.cpp", 177 "compiler/core/moduleContext.cpp", 178 "compiler/core/pandagen.cpp", 179 "compiler/core/programElement.cpp", 180 "compiler/core/regAllocator.cpp", 181 "compiler/core/regScope.cpp", 182 "compiler/core/regSpiller.cpp", 183 "compiler/core/switchBuilder.cpp", 184 "compiler/core/targetTypeContext.cpp", 185 "compiler/core/vReg.cpp", 186 "compiler/debugger/debuginfoDumper.cpp", 187 "compiler/function/asyncFunctionBuilder.cpp", 188 "compiler/function/asyncGeneratorFunctionBuilder.cpp", 189 "compiler/function/functionBuilder.cpp", 190 "compiler/function/generatorFunctionBuilder.cpp", 191 "compiler/lowering/checkerPhase.cpp", 192 "compiler/lowering/ets/ambientLowering.cpp", 193 "compiler/lowering/ets/bigintLowering.cpp", 194 "compiler/lowering/ets/boxingForLocals.cpp", 195 "compiler/lowering/ets/constStringToCharLowering.cpp", 196 "compiler/lowering/ets/defaultParameterLowering.cpp", 197 "compiler/lowering/ets/enumLowering.cpp", 198 "compiler/lowering/ets/enumPostCheckLowering.cpp", 199 "compiler/lowering/ets/expandBrackets.cpp", 200 "compiler/lowering/ets/expressionLambdaLowering.cpp", 201 "compiler/lowering/ets/interfaceObjectLiteralLowering.cpp", 202 "compiler/lowering/ets/interfacePropertyDeclarations.cpp", 203 "compiler/lowering/ets/lambdaLowering.cpp", 204 "compiler/lowering/ets/localClassLowering.cpp", 205 "compiler/lowering/ets/objectIndexAccess.cpp", 206 "compiler/lowering/ets/objectIterator.cpp", 207 "compiler/lowering/ets/objectLiteralLowering.cpp", 208 "compiler/lowering/ets/opAssignment.cpp", 209 "compiler/lowering/ets/optionalLowering.cpp", 210 "compiler/lowering/ets/partialExportClassGen.cpp", 211 "compiler/lowering/ets/promiseVoid.cpp", 212 "compiler/lowering/ets/recordLowering.cpp", 213 "compiler/lowering/ets/spreadLowering.cpp", 214 "compiler/lowering/ets/stringComparison.cpp", 215 "compiler/lowering/ets/stringConstructorLowering.cpp", 216 "compiler/lowering/ets/structLowering.cpp", 217 "compiler/lowering/ets/topLevelStmts/globalClassHandler.cpp", 218 "compiler/lowering/ets/topLevelStmts/globalDeclTransformer.cpp", 219 "compiler/lowering/ets/topLevelStmts/importExportDecls.cpp", 220 "compiler/lowering/ets/topLevelStmts/topLevelStmts.cpp", 221 "compiler/lowering/ets/tupleLowering.cpp", 222 "compiler/lowering/ets/unionLowering.cpp", 223 "compiler/lowering/phase.cpp", 224 "compiler/lowering/plugin_phase.cpp", 225 "compiler/lowering/resolveIdentifiers.cpp", 226 "compiler/lowering/scopesInit/savedBindingsCtx.cpp", 227 "compiler/lowering/scopesInit/scopesInitPhase.cpp", 228 "compiler/lowering/util.cpp", 229 "es2panda.cpp", 230 "ir/as/namedType.cpp", 231 "ir/as/prefixAssertionExpression.cpp", 232 "ir/astDump.cpp", 233 "ir/astNode.cpp", 234 "ir/base/catchClause.cpp", 235 "ir/base/classDefinition.cpp", 236 "ir/base/classElement.cpp", 237 "ir/base/classProperty.cpp", 238 "ir/base/classStaticBlock.cpp", 239 "ir/base/decorator.cpp", 240 "ir/base/metaProperty.cpp", 241 "ir/base/methodDefinition.cpp", 242 "ir/base/property.cpp", 243 "ir/base/scriptFunction.cpp", 244 "ir/base/scriptFunctionSignature.cpp", 245 "ir/base/spreadElement.cpp", 246 "ir/base/templateElement.cpp", 247 "ir/base/tsIndexSignature.cpp", 248 "ir/base/tsMethodSignature.cpp", 249 "ir/base/tsPropertySignature.cpp", 250 "ir/base/tsSignatureDeclaration.cpp", 251 "ir/ets/etsClassLiteral.cpp", 252 "ir/ets/etsFunctionType.cpp", 253 "ir/ets/etsImportSource.cpp", 254 "ir/ets/etsLaunchExpression.cpp", 255 "ir/ets/etsNewArrayInstanceExpression.cpp", 256 "ir/ets/etsNewClassInstanceExpression.cpp", 257 "ir/ets/etsNewMultiDimArrayInstanceExpression.cpp", 258 "ir/ets/etsNullishTypes.cpp", 259 "ir/ets/etsPackageDeclaration.cpp", 260 "ir/ets/etsParameterExpression.cpp", 261 "ir/ets/etsPrimitiveType.cpp", 262 "ir/ets/etsReExportDeclaration.cpp", 263 "ir/ets/etsScript.cpp", 264 "ir/ets/etsStructDeclaration.cpp", 265 "ir/ets/etsTuple.cpp", 266 "ir/ets/etsTypeReference.cpp", 267 "ir/ets/etsTypeReferencePart.cpp", 268 "ir/ets/etsUnionType.cpp", 269 "ir/ets/etsWildcardType.cpp", 270 "ir/expression.cpp", 271 "ir/expressions/arrayExpression.cpp", 272 "ir/expressions/arrowFunctionExpression.cpp", 273 "ir/expressions/assignmentExpression.cpp", 274 "ir/expressions/awaitExpression.cpp", 275 "ir/expressions/binaryExpression.cpp", 276 "ir/expressions/blockExpression.cpp", 277 "ir/expressions/callExpression.cpp", 278 "ir/expressions/chainExpression.cpp", 279 "ir/expressions/classExpression.cpp", 280 "ir/expressions/conditionalExpression.cpp", 281 "ir/expressions/directEvalExpression.cpp", 282 "ir/expressions/dummyNode.cpp", 283 "ir/expressions/functionExpression.cpp", 284 "ir/expressions/identifier.cpp", 285 "ir/expressions/importExpression.cpp", 286 "ir/expressions/literal.cpp", 287 "ir/expressions/literals/bigIntLiteral.cpp", 288 "ir/expressions/literals/booleanLiteral.cpp", 289 "ir/expressions/literals/charLiteral.cpp", 290 "ir/expressions/literals/nullLiteral.cpp", 291 "ir/expressions/literals/numberLiteral.cpp", 292 "ir/expressions/literals/regExpLiteral.cpp", 293 "ir/expressions/literals/stringLiteral.cpp", 294 "ir/expressions/literals/undefinedLiteral.cpp", 295 "ir/expressions/memberExpression.cpp", 296 "ir/expressions/newExpression.cpp", 297 "ir/expressions/objectExpression.cpp", 298 "ir/expressions/omittedExpression.cpp", 299 "ir/expressions/sequenceExpression.cpp", 300 "ir/expressions/superExpression.cpp", 301 "ir/expressions/taggedTemplateExpression.cpp", 302 "ir/expressions/templateLiteral.cpp", 303 "ir/expressions/thisExpression.cpp", 304 "ir/expressions/typeofExpression.cpp", 305 "ir/expressions/unaryExpression.cpp", 306 "ir/expressions/updateExpression.cpp", 307 "ir/expressions/yieldExpression.cpp", 308 "ir/irnode.cpp", 309 "ir/module/exportAllDeclaration.cpp", 310 "ir/module/exportDefaultDeclaration.cpp", 311 "ir/module/exportNamedDeclaration.cpp", 312 "ir/module/exportSpecifier.cpp", 313 "ir/module/importDeclaration.cpp", 314 "ir/module/importDefaultSpecifier.cpp", 315 "ir/module/importNamespaceSpecifier.cpp", 316 "ir/module/importSpecifier.cpp", 317 "ir/opaqueTypeNode.cpp", 318 "ir/srcDump.cpp", 319 "ir/statement.cpp", 320 "ir/statements/assertStatement.cpp", 321 "ir/statements/blockStatement.cpp", 322 "ir/statements/breakStatement.cpp", 323 "ir/statements/classDeclaration.cpp", 324 "ir/statements/continueStatement.cpp", 325 "ir/statements/debuggerStatement.cpp", 326 "ir/statements/doWhileStatement.cpp", 327 "ir/statements/emptyStatement.cpp", 328 "ir/statements/expressionStatement.cpp", 329 "ir/statements/forInStatement.cpp", 330 "ir/statements/forOfStatement.cpp", 331 "ir/statements/forUpdateStatement.cpp", 332 "ir/statements/functionDeclaration.cpp", 333 "ir/statements/ifStatement.cpp", 334 "ir/statements/labelledStatement.cpp", 335 "ir/statements/loopStatement.cpp", 336 "ir/statements/returnStatement.cpp", 337 "ir/statements/switchCaseStatement.cpp", 338 "ir/statements/switchStatement.cpp", 339 "ir/statements/throwStatement.cpp", 340 "ir/statements/tryStatement.cpp", 341 "ir/statements/variableDeclaration.cpp", 342 "ir/statements/variableDeclarator.cpp", 343 "ir/statements/whileStatement.cpp", 344 "ir/ts/tsAnyKeyword.cpp", 345 "ir/ts/tsArrayType.cpp", 346 "ir/ts/tsAsExpression.cpp", 347 "ir/ts/tsBigintKeyword.cpp", 348 "ir/ts/tsBooleanKeyword.cpp", 349 "ir/ts/tsClassImplements.cpp", 350 "ir/ts/tsConditionalType.cpp", 351 "ir/ts/tsConstructorType.cpp", 352 "ir/ts/tsEnumDeclaration.cpp", 353 "ir/ts/tsEnumMember.cpp", 354 "ir/ts/tsExternalModuleReference.cpp", 355 "ir/ts/tsFunctionType.cpp", 356 "ir/ts/tsImportEqualsDeclaration.cpp", 357 "ir/ts/tsImportType.cpp", 358 "ir/ts/tsIndexedAccessType.cpp", 359 "ir/ts/tsInferType.cpp", 360 "ir/ts/tsInterfaceBody.cpp", 361 "ir/ts/tsInterfaceDeclaration.cpp", 362 "ir/ts/tsInterfaceHeritage.cpp", 363 "ir/ts/tsIntersectionType.cpp", 364 "ir/ts/tsLiteralType.cpp", 365 "ir/ts/tsMappedType.cpp", 366 "ir/ts/tsModuleBlock.cpp", 367 "ir/ts/tsModuleDeclaration.cpp", 368 "ir/ts/tsNamedTupleMember.cpp", 369 "ir/ts/tsNeverKeyword.cpp", 370 "ir/ts/tsNonNullExpression.cpp", 371 "ir/ts/tsNullKeyword.cpp", 372 "ir/ts/tsNumberKeyword.cpp", 373 "ir/ts/tsObjectKeyword.cpp", 374 "ir/ts/tsParameterProperty.cpp", 375 "ir/ts/tsParenthesizedType.cpp", 376 "ir/ts/tsQualifiedName.cpp", 377 "ir/ts/tsStringKeyword.cpp", 378 "ir/ts/tsThisType.cpp", 379 "ir/ts/tsTupleType.cpp", 380 "ir/ts/tsTypeAliasDeclaration.cpp", 381 "ir/ts/tsTypeAssertion.cpp", 382 "ir/ts/tsTypeLiteral.cpp", 383 "ir/ts/tsTypeOperator.cpp", 384 "ir/ts/tsTypeParameter.cpp", 385 "ir/ts/tsTypeParameterDeclaration.cpp", 386 "ir/ts/tsTypeParameterInstantiation.cpp", 387 "ir/ts/tsTypePredicate.cpp", 388 "ir/ts/tsTypeQuery.cpp", 389 "ir/ts/tsTypeReference.cpp", 390 "ir/ts/tsUndefinedKeyword.cpp", 391 "ir/ts/tsUnionType.cpp", 392 "ir/ts/tsUnknownKeyword.cpp", 393 "ir/ts/tsVoidKeyword.cpp", 394 "ir/typeNode.cpp", 395 "lexer/ASLexer.cpp", 396 "lexer/ETSLexer.cpp", 397 "lexer/TSLexer.cpp", 398 "lexer/keywords.cpp", 399 "lexer/keywordsUtil.cpp", 400 "lexer/lexer.cpp", 401 "lexer/regexp/regexp.cpp", 402 "lexer/token/number.cpp", 403 "lexer/token/sourceLocation.cpp", 404 "lexer/token/token.cpp", 405 "parser/ASparser.cpp", 406 "parser/ETSFormattedParser.cpp", 407 "parser/ETSNolintParser.cpp", 408 "parser/ETSparser.cpp", 409 "parser/ETSparserClasses.cpp", 410 "parser/ETSparserEnums.cpp", 411 "parser/ETSparserExpressions.cpp", 412 "parser/ETSparserStatements.cpp", 413 "parser/ETSparserTypes.cpp", 414 "parser/JSparser.cpp", 415 "parser/TSparser.cpp", 416 "parser/TypedParser.cpp", 417 "parser/context/classPrivateContext.cpp", 418 "parser/context/parserContext.cpp", 419 "parser/expressionParser.cpp", 420 "parser/expressionTSParser.cpp", 421 "parser/parserImpl.cpp", 422 "parser/program/program.cpp", 423 "parser/statementParser.cpp", 424 "parser/statementTSParser.cpp", 425 "util/arktsconfig.cpp", 426 "util/bitset.cpp", 427 "util/errorHandler.cpp", 428 "util/errorLogger.cpp", 429 "util/helpers.cpp", 430 "util/importPathManager.cpp", 431 "util/path.cpp", 432 "util/plugin.cpp", 433 "util/ustring.cpp", 434 "varbinder/ASBinder.cpp", 435 "varbinder/ETSBinder.cpp", 436 "varbinder/JSBinder.cpp", 437 "varbinder/TSBinder.cpp", 438 "varbinder/TypedBinder.cpp", 439 "varbinder/declaration.cpp", 440 "varbinder/recordTable.cpp", 441 "varbinder/scope.cpp", 442 "varbinder/varbinder.cpp", 443 "varbinder/variable.cpp", 444] 445 446# libes2panda does not include bytecode optimizer, because it is used in 447# libarkruntime, and conflict with JIT setup ensues 448libes2panda_public_sources = [ 449 "public/es2panda_lib.cpp", 450 "util/generateBin.cpp", 451 "util/options.cpp", 452] 453 454config("libes2panda_config") { 455 cflags_cc = [ 456 "-fexceptions", 457 "-Werror=shadow", 458 ] 459} 460 461libes2panda_configs = [ 462 "$ark_root/assembler:arkassembler_public_config", 463 "$ark_root:ark_config", 464 ":libes2panda_public_config", 465 ":libes2panda_config", 466 "$ark_root/libpandabase:arkbase_public_config", 467 "$ark_root/libpandafile:arkfile_public_config", 468] 469 470libes2panda_public_configs = [ 471 "$ark_root/assembler:arkassembler_public_config", 472 "$ark_root:ark_config", 473 ":libes2panda_public_config", 474 ":libes2panda_config", 475 "$ark_root/libpandabase:arkbase_public_config", 476 "$ark_root/libpandafile:arkfile_public_config", 477 "$ark_root/bytecode_optimizer:bytecodeopt_public_config", 478 "$ark_root/compiler:arkcompiler_public_config", 479 "$ark_root/runtime:arkruntime_public_config", 480] 481 482ohos_shared_library("libes2panda") { 483 deps = [ ":libes2panda_frontend_static" ] 484 output_extension = "so" 485 part_name = "ets_frontend" 486 subsystem_name = "arkcompiler" 487} 488 489ohos_source_set("libes2panda_frontend_static") { 490 sources = libes2panda_sources 491 492 configs = libes2panda_configs 493 494 deps = [ 495 ":gen_es2panda_compiler_signatures_h", 496 ":gen_es2panda_lexer_keywords_h", 497 ":isa_gen_es2panda_formats_h", 498 ":isa_gen_es2panda_isa_h", 499 "$ark_third_party_root/icu/icu4c:static_icui18n", 500 "$ark_third_party_root/icu/icu4c:static_icuuc", 501 ] 502 external_deps = [ 503 "runtime_core:libarktsassembler_package", 504 "runtime_core:libarktsfile_package", 505 sdk_libc_secshared_dep, 506 ] 507 part_name = "ets_frontend" 508 subsystem_name = "arkcompiler" 509} 510 511ohos_shared_library("libes2panda_public") { 512 deps = [ ":libes2panda_public_frontend_static" ] 513 output_extension = "so" 514 part_name = "ets_frontend" 515 subsystem_name = "arkcompiler" 516} 517 518ohos_source_set("libes2panda_public_frontend_static") { 519 sources = libes2panda_public_sources 520 521 configs = libes2panda_public_configs 522 523 deps = [ ":libes2panda_frontend_static" ] 524 525 if (ark_standalone_build) { 526 deps += [ "$ark_root/bytecode_optimizer:libarktsbytecodeopt_package" ] 527 } 528 529 external_deps = [ 530 "runtime_core:libarktsbytecodeopt_package", 531 sdk_libc_secshared_dep, 532 ] 533 part_name = "ets_frontend" 534 subsystem_name = "arkcompiler" 535} 536 537ark_isa_gen("isa_gen_es2panda") { 538 template_files = [ 539 "isa.h.erb", 540 "formats.h.erb", 541 ] 542 sources = "compiler/templates" 543 destination = "$target_gen_dir/generated" 544} 545 546ark_gen("gen_es2panda_lexer") { 547 data = [ "lexer/scripts/keywords.yaml" ] 548 template_files = [ "keywords.h.erb" ] 549 sources = "lexer/templates" 550 destination = "$target_gen_dir/generated" 551 api = [ "lexer/scripts/keywords.rb" ] 552} 553 554ark_gen("gen_es2panda_compiler") { 555 data = [ "compiler/scripts/signatures.yaml" ] 556 template_files = [ "signatures.h.erb" ] 557 sources = "compiler/templates" 558 destination = "$target_gen_dir/generated" 559 api = [ "compiler/scripts/signatures.rb" ] 560} 561