Compare commits

...

4 Commits

Author SHA1 Message Date
crazywhalecc
52ed0e2cee add glibtoolize check for macos 2024-02-07 01:19:54 +08:00
crazywhalecc
39754cde59 add micro patcher for php84 2024-02-06 15:56:47 +08:00
Peter Kokot
a6f7b938e1 Fix PHP version ID 2024-02-05 20:05:54 +08:00
Peter Kokot
0ad501af9a Patch for PHP >= 8.4
FIBER_ASSEMBLER and FIBER_ASM_ARCH Makefile variables in Windows build
system PHP 8.4 have been removed in favor of the PHP_ASSEMBLER and
FIBER_ASM_ABI.
2024-02-05 20:05:54 +08:00
3 changed files with 10 additions and 1 deletions

View File

@@ -150,6 +150,8 @@ class WindowsBuilder extends BuilderBase
$makefile = FileSystem::readFile(SOURCE_PATH . '\php-src\Makefile');
if ($this->getPHPVersionID() >= 80200 && str_contains($makefile, 'FIBER_ASM_ARCH')) {
$makefile .= "\r\n" . '$(MICRO_SFX): $(BUILD_DIR)\Zend\jump_$(FIBER_ASM_ARCH)_ms_pe_masm.obj $(BUILD_DIR)\Zend\make_$(FIBER_ASM_ARCH)_ms_pe_masm.obj' . "\r\n\r\n";
} elseif ($this->getPHPVersionID() >= 80400 && str_contains($makefile, 'FIBER_ASM_ABI')) {
$makefile .= "\r\n" . '$(MICRO_SFX): $(BUILD_DIR)\Zend\jump_$(FIBER_ASM_ABI).obj $(BUILD_DIR)\Zend\make_$(FIBER_ASM_ABI).obj' . "\r\n\r\n";
}
FileSystem::writeFile(SOURCE_PATH . '\php-src\Makefile', $makefile);

View File

@@ -31,6 +31,7 @@ class MacOSToolCheckList
'gzip',
'bzip2',
'cmake',
'glibtoolize',
];
#[AsCheckItem('if homebrew has installed', limit_os: 'Darwin', level: 998)]
@@ -72,8 +73,14 @@ class MacOSToolCheckList
#[AsFixItem('build-tools')]
public function fixBuildTools(array $missing): bool
{
$replacement = [
'glibtoolize' => 'libtool',
];
foreach ($missing as $cmd) {
try {
if (isset($replacement[$cmd])) {
$cmd = $replacement[$cmd];
}
shell(true)->exec('brew install --formula ' . escapeshellarg($cmd));
} catch (RuntimeException) {
return false;

View File

@@ -106,7 +106,7 @@ class SourcePatcher
}
$patch_list = $list ?? $default;
$patches = [];
$serial = ['80', '81', '82', '83'];
$serial = ['80', '81', '82', '83', '84'];
foreach ($patch_list as $patchName) {
if (file_exists(SOURCE_PATH . "/php-src/sapi/micro/patches/{$patchName}.patch")) {
$patches[] = "sapi/micro/patches/{$patchName}.patch";