@@ -20,25 +20,25 @@ project (${JERRY_CORE_NAME} C)
2020set (ENABLE_ALL_IN_ONE OFF CACHE BOOL "Enable all-in-one build?" )
2121
2222# 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" )
4242set (JERRY_REGEXP_RECURSION_LIMIT "0" CACHE STRING "Limit of regexp recursion depth" )
4343set (JERRY_CALL_STACK_LIMIT "0" CACHE STRING "Limit of function call recursion depth" )
4444
@@ -49,61 +49,61 @@ if(USING_MSVC)
4949 set (ENABLE_ALL_IN_ONE_MESSAGE " (FORCED BY COMPILER)" )
5050endif ()
5151
52- if (FEATURE_SYSTEM_ALLOCATOR )
53- set (FEATURE_CPOINTER_32_BIT ON )
52+ if (JERRY_SYSTEM_ALLOCATOR )
53+ set (JERRY_CPOINTER_32_BIT ON )
5454
55- set (FEATURE_CPOINTER_32_BIT_MESSAGE " (FORCED BY SYSTEM ALLOCATOR)" )
55+ set (JERRY_CPOINTER_32_BIT_MESSAGE " (FORCED BY SYSTEM ALLOCATOR)" )
5656endif ()
5757
5858if (JERRY_GLOBAL_HEAP_SIZE GREATER 512)
59- set (FEATURE_CPOINTER_32_BIT ON )
59+ set (JERRY_CPOINTER_32_BIT ON )
6060
61- set (FEATURE_CPOINTER_32_BIT_MESSAGE " (FORCED BY HEAP SIZE)" )
61+ set (JERRY_CPOINTER_32_BIT_MESSAGE " (FORCED BY HEAP SIZE)" )
6262endif ()
6363
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 )
6767
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)" )
7070endif ()
7171
7272if (JERRY_CMDLINE_SNAPSHOT)
73- set (FEATURE_SNAPSHOT_SAVE ON )
73+ set (JERRY_SNAPSHOT_SAVE ON )
7474
75- set (FEATURE_SNAPSHOT_SAVE_MESSAGE " (FORCED BY SNAPSHOT TOOL)" )
75+ set (JERRY_SNAPSHOT_SAVE_MESSAGE " (FORCED BY SNAPSHOT TOOL)" )
7676endif ()
7777
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 )
8080
81- set (FEATURE_LOGGING_MESSAGE " (FORCED BY STATS OR DUMP)" )
81+ set (JERRYRE_LOGGING_MESSAGE " (FORCED BY STATS OR DUMP)" )
8282endif ()
8383
8484# 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} )
107107
108108# Include directories
109109set (INCLUDE_CORE_PUBLIC "${CMAKE_CURRENT_SOURCE_DIR} /include" )
@@ -218,75 +218,62 @@ if(DEFINED JERRY_ATTR_GLOBAL_HEAP)
218218 set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_ATTR_GLOBAL_HEAP=${JERRY_ATTR_GLOBAL_HEAP} )
219219endif ()
220220
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+
221230# Checks the optional features
222231# 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 )
226233
227234# 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 )
231236
232237# 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 )
236239
237240# 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 )
241242
242243# 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 )
246245
247246# Logging
248- if (FEATURE_LOGGING)
249- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_LOGGING=1)
250- endif ()
247+ jerry_add_define01 (JERRY_LOGGING )
251248
252249# 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 )
256251
257252# Enable debugger
258- if (FEATURE_DEBUGGER)
259- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_DEBUGGER=1)
260- endif ()
253+ jerry_add_define01 (JERRY_DEBUGGER )
261254
262255# 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 )
266257
267258# 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 )
271260
272261# 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" )
275264endif ()
276265
277- if (EXISTS ${FEATURE_PROFILE } )
278- file (READ "${FEATURE_PROFILE } " PROFILE_SETTINGS )
266+ if (EXISTS ${JERRY_PROFILE } )
267+ file (READ "${JERRY_PROFILE } " PROFILE_SETTINGS )
279268 string (REGEX REPLACE "^#.*$" "" PROFILE_SETTINGS "${PROFILE_SETTINGS} " )
280269 string (REGEX REPLACE "[\r |\n ]" ";" PROFILE_SETTINGS "${PROFILE_SETTINGS} " )
281270 set (DEFINES_JERRY ${DEFINES_JERRY} ${PROFILE_SETTINGS} )
282271else ()
283- message (FATAL_ERROR "Profile file: '${FEATURE_PROFILE } ' doesn't exist!" )
272+ message (FATAL_ERROR "Profile file: '${JERRY_PROFILE } ' doesn't exist!" )
284273endif ()
285274
286275# 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 )
290277
291278# RegExp recursion depth limit
292279if (JERRY_REGEXP_RECURSION_LIMIT)
@@ -299,35 +286,25 @@ if(JERRY_CALL_STACK_LIMIT)
299286endif ()
300287
301288# 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 )
305290
306291# 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 )
310293
311294# 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 )
315296
316297# 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 )
320299
321300# Valgrind
322- if (FEATURE_VALGRIND )
323- set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_VALGRIND=1 )
301+ jerry_add_define01 ( JERRY_VALGRIND )
302+ if ( JERRY_VALGRIND)
324303 set (INCLUDE_CORE_PRIVATE ${INCLUDE_CORE_PRIVATE} ${INCLUDE_THIRD_PARTY_VALGRIND} )
325304endif ()
326305
327306# 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 )
331308
332309# Size of heap
333310set (DEFINES_JERRY ${DEFINES_JERRY} JERRY_GLOBAL_HEAP_SIZE=${JERRY_GLOBAL_HEAP_SIZE} )
0 commit comments