1425bb815Sopenharmony_ci# Copyright (c) 2022 Huawei Device Co., Ltd.
2425bb815Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3425bb815Sopenharmony_ci# you may not use this file except in compliance with the License.
4425bb815Sopenharmony_ci# You may obtain a copy of the License at
5425bb815Sopenharmony_ci#
6425bb815Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7425bb815Sopenharmony_ci#
8425bb815Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9425bb815Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10425bb815Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11425bb815Sopenharmony_ci# See the License for the specific language governing permissions and
12425bb815Sopenharmony_ci# limitations under the License.
13425bb815Sopenharmony_ci
14425bb815Sopenharmony_ciif (defined(ohos_lite)) {  # is on lite Os for ipcamera
15425bb815Sopenharmony_ci  import("//build/lite/config/component/lite_component.gni")
16425bb815Sopenharmony_ci
17425bb815Sopenharmony_ci  lite_component("jerry_engine") {
18425bb815Sopenharmony_ci    features = [
19425bb815Sopenharmony_ci      "jerry-core",
20425bb815Sopenharmony_ci      "jerry-ext",
21425bb815Sopenharmony_ci      "jerry-port/default:jerry-port-default",
22425bb815Sopenharmony_ci    ]
23425bb815Sopenharmony_ci    if (ohos_kernel_type != "liteos_m") {
24425bb815Sopenharmony_ci      features += [ "jerry_libm" ]
25425bb815Sopenharmony_ci    }
26425bb815Sopenharmony_ci  }
27425bb815Sopenharmony_ci} else {
28425bb815Sopenharmony_ci  import("//build/ohos.gni")
29425bb815Sopenharmony_ci  import("//third_party/jerryscript/engine.gni")
30425bb815Sopenharmony_ci  config("jerryscript_config") {
31425bb815Sopenharmony_ci    defines = [
32425bb815Sopenharmony_ci      "JERRY_COMMIT_HASH=\"ignored\"",
33425bb815Sopenharmony_ci      "JERRY_NDEBUG",
34425bb815Sopenharmony_ci      "JERRY_HEAPDUMP",
35425bb815Sopenharmony_ci      "JERRY_REF_TRACKER",
36425bb815Sopenharmony_ci    ]
37425bb815Sopenharmony_ci    defines += [
38425bb815Sopenharmony_ci      "JERRY_SNAPSHOT_SAVE=${jerryscript_jerry_snapshot_save}",
39425bb815Sopenharmony_ci      "JERRY_ES2015=${jerryscript_jerry_es2015}",
40425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_TYPEDARRAY=${jerryscript_jerry_es2015_builtin_typedarray}",
41425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_SET=${jerryscript_jerry_es2015_builtin_set}",
42425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_PROMISE=${jerryscript_jerry_es2015_builtin_promise}",
43425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_PROXY=${jerryscript_jerry_es2015_builtin_proxy}",
44425bb815Sopenharmony_ci      "JERRY_ES2015_MODULE_SYSTEM=${jerryscript_jerry_es2015_module_system}",
45425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_MAP=${jerryscript_jerry_es2015_builtin_map}",
46425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_WEAKMAP=${jerryscript_jerry_es2015_builtin_weakmap}",
47425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_WEAKSET=${jerryscript_jerry_es2015_builtin_weakset}",
48425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_DATAVIEW=${jerryscript_jerry_es2015_builtin_dataview}",
49425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_REFLECT=${jerryscript_jerry_es2015_builtin_reflect}",
50425bb815Sopenharmony_ci    ]
51425bb815Sopenharmony_ci    cflags = [
52425bb815Sopenharmony_ci      "-Wno-unused-function",
53425bb815Sopenharmony_ci      "-Wno-sign-compare",
54425bb815Sopenharmony_ci      "-Wno-implicit-fallthrough",
55425bb815Sopenharmony_ci    ]
56425bb815Sopenharmony_ci    include_dirs = [ "." ]
57425bb815Sopenharmony_ci  }
58425bb815Sopenharmony_ci
59425bb815Sopenharmony_ci  config("jerryscript_simulator") {
60425bb815Sopenharmony_ci    defines = [
61425bb815Sopenharmony_ci      "JERRY_FUNCTION_BACKTRACE",
62425bb815Sopenharmony_ci      "JERRY_FUNCTION_NAME",
63425bb815Sopenharmony_ci      "JERRY_HEAPDUMP",
64425bb815Sopenharmony_ci      "JERRY_NDEBUG",
65425bb815Sopenharmony_ci      "JERRY_REF_TRACKER",
66425bb815Sopenharmony_ci    ]
67425bb815Sopenharmony_ci    defines += [
68425bb815Sopenharmony_ci      "JERRY_CPOINTER_32_BIT=${jerryscript_jerry_cpointer_32_bit}",
69425bb815Sopenharmony_ci      "JERRY_DEBUGGER=${jerryscript_jerry_debugger}",
70425bb815Sopenharmony_ci      "JERRY_GC_LIMIT=${jerryscript_jerry_gc_limit}",
71425bb815Sopenharmony_ci      "JERRY_LINE_INFO=${jerryscript_jerry_line_info}",
72425bb815Sopenharmony_ci      "JERRY_MEM_GC_BEFORE_EACH_ALLOC=${jerryscript_jerry_mem_gc_before_each_alloc}",
73425bb815Sopenharmony_ci      "JERRY_PARSER=${jerryscript_jerry_parser}",
74425bb815Sopenharmony_ci      "JERRY_PARSER_DUMP_BYTE_CODE=${jerryscript_jerry_parser_dump_byte_code}",
75425bb815Sopenharmony_ci      "JERRY_REGEXP_DUMP_BYTE_CODE=${jerryscript_jerry_regexp_dump_byte_code}",
76425bb815Sopenharmony_ci      "JERRY_REGEXP_STRICT_MODE=${jerryscript_jerry_regexp_strict_mode}",
77425bb815Sopenharmony_ci      "JERRY_STACK_LIMIT=${jerryscript_jerry_stack_limit}",
78425bb815Sopenharmony_ci      "JERRY_SYSTEM_ALLOCATOR=${jerryscript_jerry_system_allocator}",
79425bb815Sopenharmony_ci      "JERRY_VALGRIND=${jerryscript_jerry_valgrind}",
80425bb815Sopenharmony_ci      "JERRY_VM_EXEC_STOP=${jerryscript_jerry_vm_exec_stop}",
81425bb815Sopenharmony_ci      "JERRY_ES2015=${jerryscript_jerry_es2015}",
82425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_TYPEDARRAY=${jerryscript_jerry_es2015_builtin_typedarray}",
83425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_SET=${jerryscript_jerry_es2015_builtin_set}",
84425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_PROMISE=${jerryscript_jerry_es2015_builtin_promise}",
85425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_PROXY=${jerryscript_jerry_es2015_builtin_proxy}",
86425bb815Sopenharmony_ci      "JERRY_ES2015_MODULE_SYSTEM=${jerryscript_jerry_es2015_module_system}",
87425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_MAP=${jerryscript_jerry_es2015_builtin_map}",
88425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_WEAKMAP=${jerryscript_jerry_es2015_builtin_weakmap}",
89425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_WEAKSET=${jerryscript_jerry_es2015_builtin_weakset}",
90425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_DATAVIEW=${jerryscript_jerry_es2015_builtin_dataview}",
91425bb815Sopenharmony_ci      "JERRY_ES2015_BUILTIN_REFLECT=${jerryscript_jerry_es2015_builtin_reflect}",
92425bb815Sopenharmony_ci    ]
93425bb815Sopenharmony_ci    if (jerryscript_enable_external_context == true) {
94425bb815Sopenharmony_ci      defines += [ "JERRY_EXTERNAL_CONTEXT=1" ]
95425bb815Sopenharmony_ci    }
96425bb815Sopenharmony_ci    defines += [ "INPUTJS_BUFFER_SIZE=${jerryscript_inputjs_buffer_size}" ]
97425bb815Sopenharmony_ci    defines += [ "SNAPSHOT_BUFFER_SIZE=${jerryscript_snapshot_buffer_size}" ]
98425bb815Sopenharmony_ci    defines += [ "BMS_TASK_HEAP_SIZE=${jerryscript_bms_task_heap_size}" ]
99425bb815Sopenharmony_ci    defines += [ "JS_TASK_HEAP_SIZE=${jerryscript_js_task_heap_size}" ]
100425bb815Sopenharmony_ci
101425bb815Sopenharmony_ci    cflags = [
102425bb815Sopenharmony_ci      "-Wno-unused-function",
103425bb815Sopenharmony_ci      "-Wno-sign-compare",
104425bb815Sopenharmony_ci      "-Wno-error",  # jerry add
105425bb815Sopenharmony_ci      "-Wno-implicit-fallthrough",
106425bb815Sopenharmony_ci    ]
107425bb815Sopenharmony_ci    include_dirs = [ "." ]
108425bb815Sopenharmony_ci  }
109425bb815Sopenharmony_ci
110425bb815Sopenharmony_ci  jerry_core_sources = [
111425bb815Sopenharmony_ci    "jerry-core/api/jerry-debugger-transport.c",
112425bb815Sopenharmony_ci    "jerry-core/api/jerry-debugger.c",
113425bb815Sopenharmony_ci    "jerry-core/api/jerry-snapshot.c",
114425bb815Sopenharmony_ci    "jerry-core/api/jerry.c",
115425bb815Sopenharmony_ci    "jerry-core/debugger/debugger.c",
116425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-alloc.c",
117425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-gc.c",
118425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-collection.c",
119425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-conversion.c",
120425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-errol.c",
121425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-external-pointers.c",
122425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-number.c",
123425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-string.c",
124425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers-value.c",
125425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-helpers.c",
126425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-init-finalize.c",
127425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-lcache.c",
128425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-literal-storage.c",
129425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-module.c",
130425bb815Sopenharmony_ci    "jerry-core/ecma/base/ecma-property-hashmap.c",
131425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-array-iterator-prototype.c",
132425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-array-prototype-unscopables.c",
133425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-array-prototype.c",
134425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-array.c",
135425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer-prototype.c",
136425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-arraybuffer.c",
137425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-boolean-prototype.c",
138425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-boolean.c",
139425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-dataview-prototype.c",
140425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-dataview.c",
141425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-date-prototype.c",
142425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-date.c",
143425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-error-prototype.c",
144425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-error.c",
145425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-evalerror-prototype.c",
146425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-evalerror.c",
147425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-function-prototype.c",
148425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-function.c",
149425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-generator-function.c",
150425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-generator-prototype.c",
151425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-generator.c",
152425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-global.c",
153425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-helpers-date.c",
154425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-helpers-error.c",
155425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c",
156425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-helpers-sort.c",
157425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-helpers.c",
158425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-intrinsic.c",
159425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-iterator-prototype.c",
160425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-json.c",
161425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-map-iterator-prototype.c",
162425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-map-prototype.c",
163425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-map.c",
164425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-math.c",
165425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-number-prototype.c",
166425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-number.c",
167425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-object-prototype.c",
168425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-object.c",
169425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-promise-prototype.c",
170425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-promise.c",
171425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-proxy.c",
172425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror-prototype.c",
173425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-rangeerror.c",
174425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror-prototype.c",
175425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-referenceerror.c",
176425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-reflect.c",
177425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-regexp-prototype.c",
178425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-regexp.c",
179425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-set-iterator-prototype.c",
180425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-set-prototype.c",
181425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-set.c",
182425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-string-iterator-prototype.c",
183425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-string-prototype.c",
184425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-string.c",
185425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-symbol-prototype.c",
186425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-symbol.c",
187425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror-prototype.c",
188425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-syntaxerror.c",
189425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-type-error-thrower.c",
190425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-typeerror-prototype.c",
191425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-typeerror.c",
192425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-urierror-prototype.c",
193425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-urierror.c",
194425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-weakmap-prototype.c",
195425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-weakmap.c",
196425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-weakset-prototype.c",
197425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtin-weakset.c",
198425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/ecma-builtins.c",
199425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-float32array-prototype.c",
200425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-float32array.c",
201425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-float64array-prototype.c",
202425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-float64array.c",
203425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int16array-prototype.c",
204425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int16array.c",
205425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int32array-prototype.c",
206425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int32array.c",
207425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int8array-prototype.c",
208425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-int8array.c",
209425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-helpers.c",
210425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c",
211425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray.c",
212425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint16array-prototype.c",
213425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint16array.c",
214425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint32array-prototype.c",
215425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint32array.c",
216425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint8array-prototype.c",
217425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint8array.c",
218425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint8clampedarray-prototype.c",
219425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-uint8clampedarray.c",
220425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-array-object.c",
221425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-arraybuffer-object.c",
222425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-boolean-object.c",
223425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-comparison.c",
224425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-container-object.c",
225425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-conversion.c",
226425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-dataview-object.c",
227425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-eval.c",
228425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-exceptions.c",
229425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-function-object.c",
230425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-get-put-value.c",
231425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-iterator-object.c",
232425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-jobqueue.c",
233425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-lex-env.c",
234425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-number-arithmetic.c",
235425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-number-object.c",
236425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-objects-arguments.c",
237425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-objects-general.c",
238425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-objects.c",
239425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-promise-object.c",
240425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-proxy-object.c",
241425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-reference.c",
242425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-regexp-object.c",
243425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-string-object.c",
244425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-symbol-object.c",
245425bb815Sopenharmony_ci    "jerry-core/ecma/operations/ecma-typedarray-object.c",
246425bb815Sopenharmony_ci    "jerry-core/ext/ext-utils.c",
247425bb815Sopenharmony_ci    "jerry-core/ext/heapdump.c",
248425bb815Sopenharmony_ci    "jerry-core/ext/tracker.c",
249425bb815Sopenharmony_ci    "jerry-core/jcontext/jcontext.c",
250425bb815Sopenharmony_ci    "jerry-core/jmem/jmem-allocator.c",
251425bb815Sopenharmony_ci    "jerry-core/jmem/jmem-heap.c",
252425bb815Sopenharmony_ci    "jerry-core/jmem/jmem-poolman.c",
253425bb815Sopenharmony_ci    "jerry-core/jrt/jrt-fatals.c",
254425bb815Sopenharmony_ci    "jerry-core/lit/lit-char-helpers.c",
255425bb815Sopenharmony_ci    "jerry-core/lit/lit-magic-strings.c",
256425bb815Sopenharmony_ci    "jerry-core/lit/lit-strings.c",
257425bb815Sopenharmony_ci    "jerry-core/parser/js/byte-code.c",
258425bb815Sopenharmony_ci    "jerry-core/parser/js/common.c",
259425bb815Sopenharmony_ci    "jerry-core/parser/js/js-lexer.c",
260425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-expr.c",
261425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-mem.c",
262425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-module.c",
263425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-statm.c",
264425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-tagged-template-literal.c",
265425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser-util.c",
266425bb815Sopenharmony_ci    "jerry-core/parser/js/js-parser.c",
267425bb815Sopenharmony_ci    "jerry-core/parser/js/js-scanner-ops.c",
268425bb815Sopenharmony_ci    "jerry-core/parser/js/js-scanner-util.c",
269425bb815Sopenharmony_ci    "jerry-core/parser/js/js-scanner.c",
270425bb815Sopenharmony_ci    "jerry-core/parser/regexp/re-bytecode.c",
271425bb815Sopenharmony_ci    "jerry-core/parser/regexp/re-compiler.c",
272425bb815Sopenharmony_ci    "jerry-core/parser/regexp/re-parser.c",
273425bb815Sopenharmony_ci    "jerry-core/vm/opcodes-ecma-arithmetics.c",
274425bb815Sopenharmony_ci    "jerry-core/vm/opcodes-ecma-bitwise.c",
275425bb815Sopenharmony_ci    "jerry-core/vm/opcodes-ecma-relational-equality.c",
276425bb815Sopenharmony_ci    "jerry-core/vm/opcodes.c",
277425bb815Sopenharmony_ci    "jerry-core/vm/vm-stack.c",
278425bb815Sopenharmony_ci    "jerry-core/vm/vm-utils.c",
279425bb815Sopenharmony_ci    "jerry-core/vm/vm.c",
280425bb815Sopenharmony_ci  ]
281425bb815Sopenharmony_ci
282425bb815Sopenharmony_ci  jerry_core_include_dirs = [
283425bb815Sopenharmony_ci    "jerry-core/include",
284425bb815Sopenharmony_ci    "jerry-core/api",
285425bb815Sopenharmony_ci    "jerry-core/debugger",
286425bb815Sopenharmony_ci    "jerry-core/ecma/base",
287425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects",
288425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/typedarray",
289425bb815Sopenharmony_ci    "jerry-core/ecma/operations",
290425bb815Sopenharmony_ci    "jerry-core/ext",
291425bb815Sopenharmony_ci    "jerry-core/jcontext",
292425bb815Sopenharmony_ci    "jerry-core/jmem",
293425bb815Sopenharmony_ci    "jerry-core/jrt",
294425bb815Sopenharmony_ci    "jerry-core/lit",
295425bb815Sopenharmony_ci    "jerry-core/parser",
296425bb815Sopenharmony_ci    "jerry-core/parser/js",
297425bb815Sopenharmony_ci    "jerry-core/parser/regexp",
298425bb815Sopenharmony_ci    "jerry-core/vm",
299425bb815Sopenharmony_ci    "jerry-core",
300425bb815Sopenharmony_ci  ]
301425bb815Sopenharmony_ci
302425bb815Sopenharmony_ci  jerry_ext_sources = [
303425bb815Sopenharmony_ci    "jerry-ext/arg/arg-js-iterator-helper.c",
304425bb815Sopenharmony_ci    "jerry-ext/arg/arg-transform-functions.c",
305425bb815Sopenharmony_ci    "jerry-ext/arg/arg.c",
306425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-common.c",
307425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-rp.c",
308425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-serial.c",
309425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-sha1.c",
310425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-tcp.c",
311425bb815Sopenharmony_ci    "jerry-ext/debugger/debugger-ws.c",
312425bb815Sopenharmony_ci    "jerry-ext/handle-scope/handle-scope-allocator.c",
313425bb815Sopenharmony_ci    "jerry-ext/handle-scope/handle-scope.c",
314425bb815Sopenharmony_ci    "jerry-ext/handler/handler-assert.c",
315425bb815Sopenharmony_ci    "jerry-ext/handler/handler-gc.c",
316425bb815Sopenharmony_ci    "jerry-ext/handler/handler-print.c",
317425bb815Sopenharmony_ci    "jerry-ext/handler/handler-register.c",
318425bb815Sopenharmony_ci    "jerry-ext/handler/handler-resource-name.c",
319425bb815Sopenharmony_ci    "jerry-ext/module/module.c",
320425bb815Sopenharmony_ci  ]
321425bb815Sopenharmony_ci  jerry_ext_include_dirs = [
322425bb815Sopenharmony_ci    "jerry-ext/include",
323425bb815Sopenharmony_ci    "jerry-ext/debugger",
324425bb815Sopenharmony_ci    "jerry-ext/common",
325425bb815Sopenharmony_ci    "jerry-ext/arg",
326425bb815Sopenharmony_ci    "jerry-ext/handle-scope",
327425bb815Sopenharmony_ci    "jerry-core/include",
328425bb815Sopenharmony_ci  ]
329425bb815Sopenharmony_ci
330425bb815Sopenharmony_ci  jerry_port_default_sources = [
331425bb815Sopenharmony_ci    "jerry-port/default/default-date.c",
332425bb815Sopenharmony_ci    "jerry-port/default/default-debugger.c",
333425bb815Sopenharmony_ci    "jerry-port/default/default-external-context.c",
334425bb815Sopenharmony_ci    "jerry-port/default/default-fatal.c",
335425bb815Sopenharmony_ci    "jerry-port/default/default-io.c",
336425bb815Sopenharmony_ci    "jerry-port/default/default-module.c",
337425bb815Sopenharmony_ci  ]
338425bb815Sopenharmony_ci  jerry_port_default_include_dirs = [
339425bb815Sopenharmony_ci    "jerry-port/default/include",
340425bb815Sopenharmony_ci    "jerry-core/include",
341425bb815Sopenharmony_ci  ]
342425bb815Sopenharmony_ci
343425bb815Sopenharmony_ci  jerry_libm_sources = [
344425bb815Sopenharmony_ci    "jerry-libm/acos.c",
345425bb815Sopenharmony_ci    "jerry-libm/acosh.c",
346425bb815Sopenharmony_ci    "jerry-libm/asin.c",
347425bb815Sopenharmony_ci    "jerry-libm/asinh.c",
348425bb815Sopenharmony_ci    "jerry-libm/atan.c",
349425bb815Sopenharmony_ci    "jerry-libm/atan2.c",
350425bb815Sopenharmony_ci    "jerry-libm/atanh.c",
351425bb815Sopenharmony_ci    "jerry-libm/cbrt.c",
352425bb815Sopenharmony_ci    "jerry-libm/ceil.c",
353425bb815Sopenharmony_ci    "jerry-libm/copysign.c",
354425bb815Sopenharmony_ci    "jerry-libm/cosh.c",
355425bb815Sopenharmony_ci    "jerry-libm/exp.c",
356425bb815Sopenharmony_ci    "jerry-libm/expm1.c",
357425bb815Sopenharmony_ci    "jerry-libm/fabs.c",
358425bb815Sopenharmony_ci    "jerry-libm/finite.c",
359425bb815Sopenharmony_ci    "jerry-libm/floor.c",
360425bb815Sopenharmony_ci    "jerry-libm/fmod.c",
361425bb815Sopenharmony_ci    "jerry-libm/isnan.c",
362425bb815Sopenharmony_ci    "jerry-libm/log.c",
363425bb815Sopenharmony_ci    "jerry-libm/log10.c",
364425bb815Sopenharmony_ci    "jerry-libm/log1p.c",
365425bb815Sopenharmony_ci    "jerry-libm/log2.c",
366425bb815Sopenharmony_ci    "jerry-libm/nextafter.c",
367425bb815Sopenharmony_ci    "jerry-libm/pow.c",
368425bb815Sopenharmony_ci    "jerry-libm/scalbn.c",
369425bb815Sopenharmony_ci    "jerry-libm/sinh.c",
370425bb815Sopenharmony_ci    "jerry-libm/sqrt.c",
371425bb815Sopenharmony_ci    "jerry-libm/tanh.c",
372425bb815Sopenharmony_ci    "jerry-libm/trig.c",
373425bb815Sopenharmony_ci  ]
374425bb815Sopenharmony_ci  jerry_libm_include_dirs = [ "jerry-libm/include" ]
375425bb815Sopenharmony_ci
376425bb815Sopenharmony_ci  jerry_sources = [
377425bb815Sopenharmony_ci    "jerry-main/cli.c",
378425bb815Sopenharmony_ci    "jerry-main/main-unix.c",
379425bb815Sopenharmony_ci  ]
380425bb815Sopenharmony_ci  jerry_include_dirs = [
381425bb815Sopenharmony_ci    "jerry-ext",
382425bb815Sopenharmony_ci    "jerry-ext/common",
383425bb815Sopenharmony_ci    "jerry-ext/debugger",
384425bb815Sopenharmony_ci    "jerry-ext/handle-scope",
385425bb815Sopenharmony_ci    "jerry-ext/include/jerryscript-ext",
386425bb815Sopenharmony_ci    "jerry-ext/include",
387425bb815Sopenharmony_ci    "jerry-libm",
388425bb815Sopenharmony_ci    "jerry-debugger",
389425bb815Sopenharmony_ci    "jerry-port",
390425bb815Sopenharmony_ci    "jerry-main",
391425bb815Sopenharmony_ci    "jerry-core",
392425bb815Sopenharmony_ci    "jerry-port/default/include",
393425bb815Sopenharmony_ci    "jerry-core/ecma/base",
394425bb815Sopenharmony_ci    "jerry-core/ecma/operations",
395425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects",
396425bb815Sopenharmony_ci    "jerry-core/vm",
397425bb815Sopenharmony_ci    "jerry-core/jcontext",
398425bb815Sopenharmony_ci    "jerry-core/jmem",
399425bb815Sopenharmony_ci    "jerry-core/parser/js",
400425bb815Sopenharmony_ci    "jerry-core/parser/regexp",
401425bb815Sopenharmony_ci    "jerry-core/jrt",
402425bb815Sopenharmony_ci    "jerry-core/lit",
403425bb815Sopenharmony_ci    "jerry-core/include",
404425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/",
405425bb815Sopenharmony_ci  ]
406425bb815Sopenharmony_ci
407425bb815Sopenharmony_ci  jerry_snapshot_sources = [
408425bb815Sopenharmony_ci    "jerry-main/cli.c",
409425bb815Sopenharmony_ci    "jerry-main/main-unix-snapshot.c",
410425bb815Sopenharmony_ci  ]
411425bb815Sopenharmony_ci  jerry_snapshot_include_dirs = [
412425bb815Sopenharmony_ci    "jerry-ext",
413425bb815Sopenharmony_ci    "jerry-ext/common",
414425bb815Sopenharmony_ci    "jerry-ext/debugger",
415425bb815Sopenharmony_ci    "jerry-ext/handle-scope",
416425bb815Sopenharmony_ci    "jerry-ext/include/jerryscript-ext",
417425bb815Sopenharmony_ci    "jerry-ext/include",
418425bb815Sopenharmony_ci    "jerry-libm",
419425bb815Sopenharmony_ci    "jerry-debugger",
420425bb815Sopenharmony_ci    "jerry-port",
421425bb815Sopenharmony_ci    "jerry-main",
422425bb815Sopenharmony_ci    "jerry-core",
423425bb815Sopenharmony_ci    "jerry-port/default/include",
424425bb815Sopenharmony_ci    "jerry-core/ecma/base",
425425bb815Sopenharmony_ci    "jerry-core/ecma/operations",
426425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects",
427425bb815Sopenharmony_ci    "jerry-core/vm",
428425bb815Sopenharmony_ci    "jerry-core/jcontext",
429425bb815Sopenharmony_ci    "jerry-core/jmem",
430425bb815Sopenharmony_ci    "jerry-core/parser/js",
431425bb815Sopenharmony_ci    "jerry-core/parser/regexp",
432425bb815Sopenharmony_ci    "jerry-core/jrt",
433425bb815Sopenharmony_ci    "jerry-core/lit",
434425bb815Sopenharmony_ci    "jerry-core/include",
435425bb815Sopenharmony_ci    "jerry-core/ecma/builtin-objects/",
436425bb815Sopenharmony_ci  ]
437425bb815Sopenharmony_ci
438425bb815Sopenharmony_ci  ohos_executable("jerry") {
439425bb815Sopenharmony_ci    configs = [ ":jerryscript_config" ]
440425bb815Sopenharmony_ci    sources = jerry_core_sources
441425bb815Sopenharmony_ci    sources += jerry_ext_sources
442425bb815Sopenharmony_ci    sources += jerry_libm_sources
443425bb815Sopenharmony_ci    sources += jerry_port_default_sources
444425bb815Sopenharmony_ci    sources += jerry_sources
445425bb815Sopenharmony_ci
446425bb815Sopenharmony_ci    include_dirs = jerry_core_include_dirs
447425bb815Sopenharmony_ci    include_dirs += jerry_ext_include_dirs
448425bb815Sopenharmony_ci    include_dirs += jerry_libm_include_dirs
449425bb815Sopenharmony_ci    include_dirs += jerry_port_default_include_dirs
450425bb815Sopenharmony_ci    include_dirs += jerry_include_dirs
451425bb815Sopenharmony_ci  }
452425bb815Sopenharmony_ci
453425bb815Sopenharmony_ci  ohos_executable("jerry-snapshot") {
454425bb815Sopenharmony_ci    configs = [ ":jerryscript_config" ]
455425bb815Sopenharmony_ci    sources = jerry_core_sources
456425bb815Sopenharmony_ci    sources += jerry_libm_sources
457425bb815Sopenharmony_ci    sources += jerry_port_default_sources
458425bb815Sopenharmony_ci    sources += jerry_snapshot_sources
459425bb815Sopenharmony_ci
460425bb815Sopenharmony_ci    include_dirs = jerry_core_include_dirs
461425bb815Sopenharmony_ci    include_dirs += jerry_libm_include_dirs
462425bb815Sopenharmony_ci    include_dirs += jerry_port_default_include_dirs
463425bb815Sopenharmony_ci    include_dirs += jerry_snapshot_include_dirs
464425bb815Sopenharmony_ci  }
465425bb815Sopenharmony_ci
466425bb815Sopenharmony_ci  ohos_static_library("libjerryscript") {
467425bb815Sopenharmony_ci    configs = [ ":jerryscript_simulator" ]
468425bb815Sopenharmony_ci    sources = jerry_core_sources
469425bb815Sopenharmony_ci    sources += jerry_ext_sources
470425bb815Sopenharmony_ci    sources += jerry_libm_sources
471425bb815Sopenharmony_ci    sources += jerry_port_default_sources
472425bb815Sopenharmony_ci
473425bb815Sopenharmony_ci    include_dirs = jerry_core_include_dirs
474425bb815Sopenharmony_ci    include_dirs += jerry_ext_include_dirs
475425bb815Sopenharmony_ci    include_dirs += jerry_libm_include_dirs
476425bb815Sopenharmony_ci    include_dirs += jerry_port_default_include_dirs
477425bb815Sopenharmony_ci  }
478425bb815Sopenharmony_ci}
479