@@ -20,25 +20,25 @@ project (${JERRY_CORE_NAME} C)
20
20
set (ENABLE_ALL_IN_ONE OFF CACHE BOOL "Enable all-in-one build?" )
21
21
22
22
# Optional features
23
- set (FEATURE_CPOINTER_32_BIT OFF CACHE BOOL "Enable 32 bit compressed pointers?" )
24
- set (FEATURE_DEBUGGER OFF CACHE BOOL "Enable JerryScript debugger?" )
25
- set (FEATURE_ERROR_MESSAGES OFF CACHE BOOL "Enable error messages?" )
26
- set (FEATURE_EXTERNAL_CONTEXT OFF CACHE BOOL "Enable external context?" )
27
- set (FEATURE_JS_PARSER ON CACHE BOOL "Enable js -parser?" )
28
- set (FEATURE_LINE_INFO OFF CACHE BOOL "Enable line info?" )
29
- set (FEATURE_LOGGING OFF CACHE BOOL "Enable logging?" )
30
- set (FEATURE_MEM_STATS OFF CACHE BOOL "Enable memory statistics?" )
31
- set (FEATURE_MEM_STRESS_TEST OFF CACHE BOOL "Enable mem-stress test?" )
32
- set (FEATURE_PARSER_DUMP OFF CACHE BOOL "Enable parser byte-code dumps?" )
33
- set (FEATURE_PROFILE "es5.1" CACHE STRING "Use default or other profile?" )
34
- set (FEATURE_REGEXP_STRICT_MODE OFF CACHE BOOL "Enable regexp strict mode?" )
35
- set (FEATURE_REGEXP_DUMP OFF CACHE BOOL "Enable regexp byte-code dumps?" )
36
- set (FEATURE_SNAPSHOT_EXEC OFF CACHE BOOL "Enable executing snapshot files?" )
37
- set (FEATURE_SNAPSHOT_SAVE OFF CACHE BOOL "Enable saving snapshot files?" )
38
- set (FEATURE_SYSTEM_ALLOCATOR OFF CACHE BOOL "Enable system allocator?" )
39
- set (FEATURE_VALGRIND OFF CACHE BOOL "Enable Valgrind support?" )
40
- set (FEATURE_VM_EXEC_STOP OFF CACHE BOOL "Enable VM execution stopping?" )
41
- set (JERRY_GLOBAL_HEAP_SIZE "512" CACHE STRING "Size of memory heap, in kilobytes" )
23
+ set (JERRY_CPOINTER_32_BIT OFF CACHE BOOL "Enable 32 bit compressed pointers?" )
24
+ set (JERRY_DEBUGGER OFF CACHE BOOL "Enable JerryScript debugger?" )
25
+ set (JERRY_ERROR_MESSAGES OFF CACHE BOOL "Enable error messages?" )
26
+ set (JERRY_EXTERNAL_CONTEXT OFF CACHE BOOL "Enable external context?" )
27
+ set (JERRY_PARSER ON CACHE BOOL "Enable javascript -parser?" )
28
+ set (JERRY_LINE_INFO OFF CACHE BOOL "Enable line info?" )
29
+ set (JERRY_LOGGING OFF CACHE BOOL "Enable logging?" )
30
+ set (JERRY_MEM_STATS OFF CACHE BOOL "Enable memory statistics?" )
31
+ set (JERRY_MEM_GC_BEFORE_EACH_ALLOC OFF CACHE BOOL "Enable mem-stress test?" )
32
+ set (JERRY_PARSER_DUMP_BYTE_CODE OFF CACHE BOOL "Enable parser byte-code dumps?" )
33
+ set (JERRY_PROFILE "es5.1" CACHE STRING "Use default or other profile?" )
34
+ set (JERRY_REGEXP_STRICT_MODE OFF CACHE BOOL "Enable regexp strict mode?" )
35
+ set (JERRY_REGEXP_DUMP_BYTE_CODE OFF CACHE BOOL "Enable regexp byte-code dumps?" )
36
+ set (JERRY_SNAPSHOT_EXEC OFF CACHE BOOL "Enable executing snapshot files?" )
37
+ set (JERRY_SNAPSHOT_SAVE OFF CACHE BOOL "Enable saving snapshot files?" )
38
+ set (JERRY_SYSTEM_ALLOCATOR OFF CACHE BOOL "Enable system allocator?" )
39
+ set (JERRY_VALGRIND OFF CACHE BOOL "Enable Valgrind support?" )
40
+ set (JERRY_VM_EXEC_STOP OFF CACHE BOOL "Enable VM execution stopping?" )
41
+ set (JERRY_GLOBAL_HEAP_SIZE "( 512)" CACHE STRING "Size of memory heap, in kilobytes" )
42
42
set (JERRY_REGEXP_RECURSION_LIMIT "0" CACHE STRING "Limit of regexp recursion depth" )
43
43
set (JERRY_CALL_STACK_LIMIT "0" CACHE STRING "Limit of function call recursion depth" )
44
44
@@ -49,61 +49,61 @@ if(USING_MSVC)
49
49
set (ENABLE_ALL_IN_ONE_MESSAGE " (FORCED BY COMPILER)" )
50
50
endif ()
51
51
52
- if (FEATURE_SYSTEM_ALLOCATOR )
53
- set (FEATURE_CPOINTER_32_BIT ON )
52
+ if (JERRY_SYSTEM_ALLOCATOR )
53
+ set (JERRY_CPOINTER_32_BIT ON )
54
54
55
- set (FEATURE_CPOINTER_32_BIT_MESSAGE " (FORCED BY SYSTEM ALLOCATOR)" )
55
+ set (JERRY_CPOINTER_32_BIT_MESSAGE " (FORCED BY SYSTEM ALLOCATOR)" )
56
56
endif ()
57
57
58
58
if (JERRY_GLOBAL_HEAP_SIZE GREATER 512 )
59
- set (FEATURE_CPOINTER_32_BIT ON )
59
+ set (JERRY_CPOINTER_32_BIT ON )
60
60
61
- set (FEATURE_CPOINTER_32_BIT_MESSAGE " (FORCED BY HEAP SIZE)" )
61
+ set (JERRY_CPOINTER_32_BIT_MESSAGE " (FORCED BY HEAP SIZE)" )
62
62
endif ()
63
63
64
- if (NOT FEATURE_JS_PARSER )
65
- set (FEATURE_SNAPSHOT_EXEC ON )
66
- set (FEATURE_PARSER_DUMP OFF )
64
+ if (NOT JERRY_PARSER )
65
+ set (JERRY_SNAPSHOT_EXEC ON )
66
+ set (JERRY_PARSER_DUMP OFF )
67
67
68
- set (FEATURE_SNAPSHOT_EXEC_MESSAGE " (FORCED BY DISABLED JS PARSER)" )
69
- set (FEATURE_PARSER_DUMP_MESSAGE " (FORCED BY DISABLED JS PARSER)" )
68
+ set (JERRY_SNAPSHOT_EXEC_MESSAGE " (FORCED BY DISABLED JS PARSER)" )
69
+ set (JERRY_PARSER_DUMP_MESSAGE " (FORCED BY DISABLED JS PARSER)" )
70
70
endif ()
71
71
72
72
if (JERRY_CMDLINE_SNAPSHOT )
73
- set (FEATURE_SNAPSHOT_SAVE ON )
73
+ set (JERRY_SNAPSHOT_SAVE ON )
74
74
75
- set (FEATURE_SNAPSHOT_SAVE_MESSAGE " (FORCED BY SNAPSHOT TOOL)" )
75
+ set (JERRY_SNAPSHOT_SAVE_MESSAGE " (FORCED BY SNAPSHOT TOOL)" )
76
76
endif ()
77
77
78
- if (FEATURE_MEM_STATS OR FEATURE_PARSER_DUMP OR FEATURE_REGEXP_DUMP )
79
- set (FEATURE_LOGGING ON )
78
+ if (JERRY_MEM_STATS OR JERRY_PARSER_DUMP_BYTE_CODE OR JERRY_REGEXP_DUMP_BYTE_CODE )
79
+ set (JERRY_LOGGING ON )
80
80
81
- set (FEATURE_LOGGING_MESSAGE " (FORCED BY STATS OR DUMP)" )
81
+ set (JERRYRE_LOGGING_MESSAGE " (FORCED BY STATS OR DUMP)" )
82
82
endif ()
83
83
84
84
# Status messages
85
- message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
86
- message (STATUS "FEATURE_CPOINTER_32_BIT " ${FEATURE_CPOINTER_32_BIT } ${FEATURE_CPOINTER_32_BIT_MESSAGE } )
87
- message (STATUS "FEATURE_DEBUGGER " ${FEATURE_DEBUGGER } )
88
- message (STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES } )
89
- message (STATUS "FEATURE_EXTERNAL_CONTEXT " ${FEATURE_EXTERNAL_CONTEXT } )
90
- message (STATUS "FEATURE_JS_PARSER " ${FEATURE_JS_PARSER } )
91
- message (STATUS "FEATURE_LINE_INFO " ${FEATURE_LINE_INFO } )
92
- message (STATUS "FEATURE_LOGGING " ${FEATURE_LOGGING } ${FEATURE_LOGGING_MESSAGE } )
93
- message (STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS } )
94
- message (STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST } )
95
- message (STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP } ${FEATURE_PARSER_DUMP_MESSAGE } )
96
- message (STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE } )
97
- message (STATUS "FEATURE_REGEXP_STRICT_MODE " ${FEATURE_REGEXP_STRICT_MODE } )
98
- message (STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP } )
99
- message (STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC } ${FEATURE_SNAPSHOT_EXEC_MESSAGE } )
100
- message (STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE } ${FEATURE_SNAPSHOT_SAVE_MESSAGE } )
101
- message (STATUS "FEATURE_SYSTEM_ALLOCATOR " ${FEATURE_SYSTEM_ALLOCATOR } )
102
- message (STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND } )
103
- message (STATUS "FEATURE_VM_EXEC_STOP " ${FEATURE_VM_EXEC_STOP } )
104
- message (STATUS "JERRY_GLOBAL_HEAP_SIZE " ${JERRY_GLOBAL_HEAP_SIZE} )
105
- message (STATUS "JERRY_REGEXP_RECURSION_LIMIT " ${JERRY_REGEXP_RECURSION_LIMIT} )
106
- message (STATUS "JERRY_CALL_STACK_LIMIT " ${JERRY_CALL_STACK_LIMIT} )
85
+ message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
86
+ message (STATUS "JERRY_CPOINTER_32_BIT " ${JERRY_CPOINTER_32_BIT } ${JERRY_CPOINTER_32_BIT_MESSAGE } )
87
+ message (STATUS "JERRY_DEBUGGER " ${JERRY_DEBUGGER } )
88
+ message (STATUS "JERRY_ERROR_MESSAGES " ${JERRY_ERROR_MESSAGES } )
89
+ message (STATUS "JERRY_EXTERNAL_CONTEXT " ${JERRY_EXTERNAL_CONTEXT } )
90
+ message (STATUS "JERRY_PARSER " ${JERRY_PARSER } )
91
+ message (STATUS "JERRY_LINE_INFO " ${JERRY_LINE_INFO } )
92
+ message (STATUS "JERRY_LOGGING " ${JERRY_LOGGING } ${JERRY_LOGGING_MESSAGE } )
93
+ message (STATUS "JERRY_MEM_STATS " ${JERRY_MEM_STATS } )
94
+ message (STATUS "JERRY_MEM_GC_BEFORE_EACH_ALLOC " ${JERRY_MEM_GC_BEFORE_EACH_ALLOC } )
95
+ message (STATUS "JERRY_PARSER_DUMP_BYTE_CODE " ${JERRY_PARSER_DUMP_BYTE_CODE } ${JERRY_PARSER_DUMP_MESSAGE } )
96
+ message (STATUS "JERRY_PROFILE " ${JERRY_PROFILE } )
97
+ message (STATUS "JERRY_REGEXP_STRICT_MODE " ${JERRY_REGEXP_STRICT_MODE } )
98
+ message (STATUS "JERRY_REGEXP_DUMP_BYTE_CODE " ${JERRY_REGEXP_DUMP_BYTE_CODE } )
99
+ message (STATUS "JERRY_SNAPSHOT_EXEC " ${JERRY_SNAPSHOT_EXEC } ${JERRY_SNAPSHOT_EXEC_MESSAGE } )
100
+ message (STATUS "JERRY_SNAPSHOT_SAVE " ${JERRY_SNAPSHOT_SAVE } ${JERRY_SNAPSHOT_SAVE_MESSAGE } )
101
+ message (STATUS "JERRY_SYSTEM_ALLOCATOR " ${JERRY_SYSTEM_ALLOCATOR } )
102
+ message (STATUS "JERRY_VALGRIND " ${JERRY_VALGRIND } )
103
+ message (STATUS "JERRY_VM_EXEC_STOP " ${JERRY_VM_EXEC_STOP } )
104
+ message (STATUS "JERRY_GLOBAL_HEAP_SIZE " ${JERRY_GLOBAL_HEAP_SIZE} )
105
+ message (STATUS "JERRY_REGEXP_RECURSION_LIMIT " ${JERRY_REGEXP_RECURSION_LIMIT} )
106
+ message (STATUS "JERRY_CALL_STACK_LIMIT " ${JERRY_CALL_STACK_LIMIT} )
107
107
108
108
# Include directories
109
109
set (INCLUDE_CORE_PUBLIC "${CMAKE_CURRENT_SOURCE_DIR} /include" )
@@ -218,75 +218,62 @@ if(DEFINED JERRY_ATTR_GLOBAL_HEAP)
218
218
set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_ATTR_GLOBAL_HEAP=${JERRY_ATTR_GLOBAL_HEAP} )
219
219
endif ()
220
220
221
+ # Helper macro to set 0/1 switch as Jerry Defines
222
+ macro (jerry_add_define01 NAME )
223
+ if (${NAME} )
224
+ set (DEFINES_JERRY ${DEFINES_JERRY} ${NAME} =1 )
225
+ else ()
226
+ set (DEFINES_JERRY ${DEFINES_JERRY} ${NAME} =0 )
227
+ endif ()
228
+ endmacro (jerry_add_define01 )
229
+
221
230
# Checks the optional features
222
231
# Enable 32 bit cpointers
223
- if (FEATURE_CPOINTER_32_BIT )
224
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_CPOINTER_32_BIT=1 )
225
- endif ()
232
+ jerry_add_define01 (JERRY_CPOINTER_32_BIT )
226
233
227
234
# Fill error messages for builtin error objects
228
- if (FEATURE_ERROR_MESSAGES )
229
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_ERROR_MESSAGES=1 )
230
- endif ()
235
+ jerry_add_define01 (JERRY_ERROR_MESSAGES )
231
236
232
237
# Use external context instead of static one
233
- if (FEATURE_EXTERNAL_CONTEXT )
234
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_EXTERNAL_CONTEXT=1 )
235
- endif ()
238
+ jerry_add_define01 (JERRY_EXTERNAL_CONTEXT )
236
239
237
240
# JS-Parser
238
- if (NOT FEATURE_JS_PARSER )
239
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_PARSER=0 )
240
- endif ()
241
+ jerry_add_define01 (JERRY_PARSER )
241
242
242
243
# JS line info
243
- if (FEATURE_LINE_INFO )
244
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_LINE_INFO=1 )
245
- endif ()
244
+ jerry_add_define01 (JERRY_LINE_INFO )
246
245
247
246
# Logging
248
- if (FEATURE_LOGGING )
249
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_LOGGING=1 )
250
- endif ()
247
+ jerry_add_define01 (JERRY_LOGGING )
251
248
252
249
# Memory statistics
253
- if (FEATURE_MEM_STATS )
254
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_MEM_STATS=1 )
255
- endif ()
250
+ jerry_add_define01 (JERRY_MEM_STATS )
256
251
257
252
# Enable debugger
258
- if (FEATURE_DEBUGGER )
259
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_DEBUGGER=1 )
260
- endif ()
253
+ jerry_add_define01 (JERRY_DEBUGGER )
261
254
262
255
# Memory management stress-test mode
263
- if (FEATURE_MEM_STRESS_TEST )
264
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_MEM_GC_BEFORE_EACH_ALLOC=1 )
265
- endif ()
256
+ jerry_add_define01 (JERRY_MEM_GC_BEFORE_EACH_ALLOC )
266
257
267
258
# Parser byte-code dumps
268
- if (FEATURE_PARSER_DUMP )
269
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_PARSER_DUMP_BYTE_CODE=1 )
270
- endif ()
259
+ jerry_add_define01 (JERRY_PARSER_DUMP_BYTE_CODE )
271
260
272
261
# Profile
273
- if (NOT IS_ABSOLUTE ${FEATURE_PROFILE } )
274
- set (FEATURE_PROFILE "${CMAKE_CURRENT_SOURCE_DIR} /profiles/${FEATURE_PROFILE } .profile" )
262
+ if (NOT IS_ABSOLUTE ${JERRY_PROFILE } )
263
+ set (JERRY_PROFILE "${CMAKE_CURRENT_SOURCE_DIR} /profiles/${JERRY_PROFILE } .profile" )
275
264
endif ()
276
265
277
- if (EXISTS ${FEATURE_PROFILE } )
278
- file (READ "${FEATURE_PROFILE } " PROFILE_SETTINGS )
266
+ if (EXISTS ${JERRY_PROFILE } )
267
+ file (READ "${JERRY_PROFILE } " PROFILE_SETTINGS )
279
268
string (REGEX REPLACE "^#.*$" "" PROFILE_SETTINGS "${PROFILE_SETTINGS} " )
280
269
string (REGEX REPLACE "[\r |\n ]" ";" PROFILE_SETTINGS "${PROFILE_SETTINGS} " )
281
270
set (DEFINES_JERRY ${DEFINES_JERRY} ${PROFILE_SETTINGS} )
282
271
else ()
283
- message (FATAL_ERROR "Profile file: '${FEATURE_PROFILE } ' doesn't exist!" )
272
+ message (FATAL_ERROR "Profile file: '${JERRY_PROFILE } ' doesn't exist!" )
284
273
endif ()
285
274
286
275
# RegExp strict mode
287
- if (FEATURE_REGEXP_STRICT_MODE )
288
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_REGEXP_STRICT_MODE=1 )
289
- endif ()
276
+ jerry_add_define01 (JERRY_REGEXP_STRICT_MODE )
290
277
291
278
# RegExp recursion depth limit
292
279
if (JERRY_REGEXP_RECURSION_LIMIT )
@@ -299,35 +286,25 @@ if(JERRY_CALL_STACK_LIMIT)
299
286
endif ()
300
287
301
288
# RegExp byte-code dumps
302
- if (FEATURE_REGEXP_DUMP )
303
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_REGEXP_DUMP_BYTE_CODE=1 )
304
- endif ()
289
+ jerry_add_define01 (JERRY_REGEXP_DUMP_BYTE_CODE )
305
290
306
291
# Snapshot exec
307
- if (FEATURE_SNAPSHOT_EXEC )
308
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_SNAPSHOT_EXEC=1 )
309
- endif ()
292
+ jerry_add_define01 (JERRY_SNAPSHOT_EXEC )
310
293
311
294
# Snapshot save
312
- if (FEATURE_SNAPSHOT_SAVE )
313
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_SNAPSHOT_SAVE=1 )
314
- endif ()
295
+ jerry_add_define01 (JERRY_SNAPSHOT_SAVE )
315
296
316
297
# Enable system allocator
317
- if (FEATURE_SYSTEM_ALLOCATOR )
318
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_SYSTEM_ALLOCATOR=1 )
319
- endif ()
298
+ jerry_add_define01 (JERRY_SYSTEM_ALLOCATOR )
320
299
321
300
# Valgrind
322
- if ( FEATURE_VALGRIND )
323
- set ( DEFINES_JERRY ${DEFINES_JERRY} JERRY_VALGRIND=1 )
301
+ jerry_add_define01 ( JERRY_VALGRIND )
302
+ if ( JERRY_VALGRIND )
324
303
set (INCLUDE_CORE_PRIVATE ${INCLUDE_CORE_PRIVATE} ${INCLUDE_THIRD_PARTY_VALGRIND} )
325
304
endif ()
326
305
327
306
# Enable VM execution stopping
328
- if (FEATURE_VM_EXEC_STOP )
329
- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_VM_EXEC_STOP=1 )
330
- endif ()
307
+ jerry_add_define01 (JERRY_VM_EXEC_STOP )
331
308
332
309
# Size of heap
333
310
set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_GLOBAL_HEAP_SIZE=${JERRY_GLOBAL_HEAP_SIZE} )
0 commit comments