@@ -20,6 +20,9 @@ of PHP 8.5, this extension is always enabled and cannot be disabled.
2020
2121Enable copying PHP CODE pages into HUGE PAGES. 
2222
23+ > [!NOTE] 
24+ > This option is not available when the target system is Windows. 
25+ 
2326## PHP_EXT_OPCACHE_JIT 
2427
2528* Default: `ON` 
@@ -60,6 +63,11 @@ cmake_dependent_option(
6063  [[NOT CMAKE_SYSTEM_NAME STREQUAL "Windows"]]
6164  OFF 
6265)
66+ add_feature_info(
67+   "ext/opcache HUGE PAGES" 
68+   PHP_EXT_OPCACHE_HUGE_CODE_PAGES
69+   "PHP CODE pages are copied into HUGE PAGES" 
70+ )
6371
6472option (PHP_EXT_OPCACHE_JIT "Enable JIT (just-in-time) compilation"  ON )
6573
@@ -123,7 +131,10 @@ endif()
123131
124132# Check if JIT is supported by the target architecture. 
125133if (PHP_EXT_OPCACHE_JIT)
126-   if (NOT  CMAKE_C_COMPILER_ARCHITECTURE_ID MATCHES  "(i[3456]86|x86_64|aarch64|arm64|x64|X86)" )
134+   if (
135+     NOT  CMAKE_C_COMPILER_ARCHITECTURE_ID
136+     MATCHES  "(i[3456]86|x86_64|aarch64|arm64|x64|X86)" 
137+   )
127138    message (
128139      WARNING
129140      "JIT is not supported by target architecture " 
@@ -303,6 +314,14 @@ if(PHP_EXT_OPCACHE_JIT)
303314      $<$<CONFIG:Debug,DebugAssertions>:IR_DEBUG>
304315  )
305316
317+   foreach (
318+     file  IN ITEMS
319+       ${CMAKE_CURRENT_SOURCE_DIR} /jit/zend_jit_helpers.c
320+       ${CMAKE_CURRENT_SOURCE_DIR} /jit/zend_jit_ir.c
321+   )
322+     set_property (SOURCE  jit/zend_jit.c APPEND  PROPERTY OBJECT_DEPENDS  "${file} " )
323+   endforeach ()
324+ 
306325  # Check for Capstone. 
307326  if (PHP_EXT_OPCACHE_CAPSTONE)
308327    find_package (Capstone 3.0.0)
0 commit comments