Skip to content

Commit 2454f72

Browse files
committed
Merge branch 'PHP-8.4' into PHP-8.5
2 parents 53e1698 + a6117ac commit 2454f72

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

cmake/ext/opcache/CMakeLists.txt

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ of PHP 8.5, this extension is always enabled and cannot be disabled.
2020
2121
Enable 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

6472
option(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.
125133
if(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

Comments
 (0)