From f4918ba92c3b475f79f3285d3dfca4144b0bfb27 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Sun, 12 Apr 2026 23:13:30 +0800 Subject: [PATCH] Add pthreadVC3.lib for frankenphp --- config/pkg/lib/pthreads4w.yml | 1 + src/Package/Library/pthreads4w.php | 2 ++ 2 files changed, 3 insertions(+) diff --git a/config/pkg/lib/pthreads4w.yml b/config/pkg/lib/pthreads4w.yml index 06a6245f..5c8eabac 100644 --- a/config/pkg/lib/pthreads4w.yml +++ b/config/pkg/lib/pthreads4w.yml @@ -10,3 +10,4 @@ pthreads4w: license: Apache-2.0 static-libs@windows: - libpthreadVC3.lib + - pthreadVC3.lib diff --git a/src/Package/Library/pthreads4w.php b/src/Package/Library/pthreads4w.php index 69f181f0..6a263d4e 100644 --- a/src/Package/Library/pthreads4w.php +++ b/src/Package/Library/pthreads4w.php @@ -26,6 +26,8 @@ class pthreads4w FileSystem::createDir($lib->getLibDir()); FileSystem::createDir($lib->getIncludeDir()); FileSystem::copy("{$lib->getSourceDir()}\\libpthreadVC3.lib", "{$lib->getLibDir()}\\libpthreadVC3.lib"); + // FrankenPHP's cgo.go uses -lpthreadVC3, which lld-link maps to pthreadVC3.lib (no lib prefix) + FileSystem::copy("{$lib->getSourceDir()}\\libpthreadVC3.lib", "{$lib->getLibDir()}\\pthreadVC3.lib"); FileSystem::copy("{$lib->getSourceDir()}\\_ptw32.h", "{$lib->getIncludeDir()}\\_ptw32.h"); FileSystem::copy("{$lib->getSourceDir()}\\pthread.h", "{$lib->getIncludeDir()}\\pthread.h"); FileSystem::copy("{$lib->getSourceDir()}\\sched.h", "{$lib->getIncludeDir()}\\sched.h");