@@ -20,25 +20,26 @@ 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 (MEM_HEAP_SIZE_KB "512" CACHE STRING "Size of memory heap, in kilobytes" )
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_REGEXP_RECURSION_LIMIT "0" CACHE STRING "Limit of regexp recursion depth" )
37+ set (FEATURE_SNAPSHOT_EXEC OFF CACHE BOOL "Enable executing snapshot files?" )
38+ set (FEATURE_SNAPSHOT_SAVE OFF CACHE BOOL "Enable saving snapshot files?" )
39+ set (FEATURE_SYSTEM_ALLOCATOR OFF CACHE BOOL "Enable system allocator?" )
40+ set (FEATURE_VALGRIND OFF CACHE BOOL "Enable Valgrind support?" )
41+ set (FEATURE_VM_EXEC_STOP OFF CACHE BOOL "Enable VM execution stopping?" )
42+ set (MEM_HEAP_SIZE_KB "512" CACHE STRING "Size of memory heap, in kilobytes" )
4243
4344# Option overrides
4445if (USING_MSVC)
@@ -74,26 +75,27 @@ if(FEATURE_MEM_STATS OR FEATURE_PARSER_DUMP OR FEATURE_REGEXP_DUMP)
7475endif ()
7576
7677# Status messages
77- message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
78- message (STATUS "FEATURE_CPOINTER_32_BIT " ${FEATURE_CPOINTER_32_BIT} ${FEATURE_CPOINTER_32_BIT_MESSAGE} )
79- message (STATUS "FEATURE_DEBUGGER " ${FEATURE_DEBUGGER} )
80- message (STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES} )
81- message (STATUS "FEATURE_EXTERNAL_CONTEXT " ${FEATURE_EXTERNAL_CONTEXT} )
82- message (STATUS "FEATURE_JS_PARSER " ${FEATURE_JS_PARSER} )
83- message (STATUS "FEATURE_LINE_INFO " ${FEATURE_LINE_INFO} )
84- message (STATUS "FEATURE_LOGGING " ${FEATURE_LOGGING} ${FEATURE_LOGGING_MESSAGE} )
85- message (STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS} )
86- message (STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST} )
87- message (STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP} ${FEATURE_PARSER_DUMP_MESSAGE} )
88- message (STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE} )
89- message (STATUS "FEATURE_REGEXP_STRICT_MODE " ${FEATURE_REGEXP_STRICT_MODE} )
90- message (STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP} )
91- message (STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC} ${FEATURE_SNAPSHOT_EXEC_MESSAGE} )
92- message (STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE} ${FEATURE_SNAPSHOT_SAVE_MESSAGE} )
93- message (STATUS "FEATURE_SYSTEM_ALLOCATOR " ${FEATURE_SYSTEM_ALLOCATOR} )
94- message (STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND} )
95- message (STATUS "FEATURE_VM_EXEC_STOP " ${FEATURE_VM_EXEC_STOP} )
96- message (STATUS "MEM_HEAP_SIZE_KB " ${MEM_HEAP_SIZE_KB} )
78+ message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
79+ message (STATUS "FEATURE_CPOINTER_32_BIT " ${FEATURE_CPOINTER_32_BIT} ${FEATURE_CPOINTER_32_BIT_MESSAGE} )
80+ message (STATUS "FEATURE_DEBUGGER " ${FEATURE_DEBUGGER} )
81+ message (STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES} )
82+ message (STATUS "FEATURE_EXTERNAL_CONTEXT " ${FEATURE_EXTERNAL_CONTEXT} )
83+ message (STATUS "FEATURE_JS_PARSER " ${FEATURE_JS_PARSER} )
84+ message (STATUS "FEATURE_LINE_INFO " ${FEATURE_LINE_INFO} )
85+ message (STATUS "FEATURE_LOGGING " ${FEATURE_LOGGING} ${FEATURE_LOGGING_MESSAGE} )
86+ message (STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS} )
87+ message (STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST} )
88+ message (STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP} ${FEATURE_PARSER_DUMP_MESSAGE} )
89+ message (STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE} )
90+ message (STATUS "FEATURE_REGEXP_STRICT_MODE " ${FEATURE_REGEXP_STRICT_MODE} )
91+ message (STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP} )
92+ message (STATUS "FEATURE_REGEXP_RECURSION_LIMIT " ${FEATURE_REGEXP_RECURSION_LIMIT} )
93+ message (STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC} ${FEATURE_SNAPSHOT_EXEC_MESSAGE} )
94+ message (STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE} ${FEATURE_SNAPSHOT_SAVE_MESSAGE} )
95+ message (STATUS "FEATURE_SYSTEM_ALLOCATOR " ${FEATURE_SYSTEM_ALLOCATOR} )
96+ message (STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND} )
97+ message (STATUS "FEATURE_VM_EXEC_STOP " ${FEATURE_VM_EXEC_STOP} )
98+ message (STATUS "MEM_HEAP_SIZE_KB " ${MEM_HEAP_SIZE_KB} )
9799
98100# Include directories
99101set (INCLUDE_CORE_PUBLIC "${CMAKE_CURRENT_SOURCE_DIR} /include" )
@@ -242,6 +244,11 @@ if(FEATURE_REGEXP_STRICT_MODE)
242244 set (DEFINES_JERRY ${DEFINES_JERRY} ENABLE_REGEXP_STRICT_MODE)
243245endif ()
244246
247+ # RegExp recursion depth limit
248+ if (FEATURE_REGEXP_RECURSION_LIMIT)
249+ set (DEFINES_JERRY ${DEFINES_JERRY} FEATURE_REGEXP_RECURSION_LIMIT=${FEATURE_REGEXP_RECURSION_LIMIT} )
250+ endif ()
251+
245252# RegExp byte-code dumps
246253if (FEATURE_REGEXP_DUMP)
247254 set (DEFINES_JERRY ${DEFINES_JERRY} REGEXP_DUMP_BYTE_CODE)
0 commit comments