builder->getLib('openssl')) { $arg .= ' --with-event-openssl=' . BUILD_ROOT_PATH; } if ($this->builder->getExt('sockets')) { $arg .= ' --enable-event-sockets'; } else { $arg .= ' --disable-event-sockets'; } return $arg; } public function patchBeforeConfigure(): bool { FileSystem::replaceFileRegex(SOURCE_PATH . '/php-src/configure', '/-levent_openssl/', $this->getLibFilesString()); return true; } public function patchBeforeMake(): bool { $patched = parent::patchBeforeMake(); // Prevent event extension compile error on macOS if ($this->builder instanceof MacOSBuilder) { FileSystem::replaceFileRegex(SOURCE_PATH . '/php-src/main/php_config.h', '/^#define HAVE_OPENPTY 1$/m', ''); $patched = true; } return $this->patchLibeventConstPeer() || $patched; } public function patchBeforeSharedMake(): bool { $patched = parent::patchBeforeSharedMake(); return $this->patchLibeventConstPeer() || $patched; } private function patchLibeventConstPeer(): bool { $patched = false; $file = SOURCE_PATH . '/php-src/ext/event/php8/classes/http_connection.c'; if (is_file($file) && FileSystem::replaceFileRegex($file, '/^\tchar \*address;$/m', "\tconst char *address;")) { $patched = true; } return $patched; } }