WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
282276
[Win] Cross-compiling the Windows port from Linux
https://bugs.webkit.org/show_bug.cgi?id=282276
Summary
[Win] Cross-compiling the Windows port from Linux
Ian Grunert
Reported
2024-10-29 13:31:24 PDT
It would make it easier for more WebKit maintainers to fix Windows build issues. It's more likely that contributors have a Linux dev environment setup than a Windows one. Windows compiles under clang-cl now, and links with lld-link, so no MASM.exe to worry about. We'll need something like
https://github.com/Jake-Shadle/xwin
to download the Microsoft CRT headers and libraries, and Windows SDK headers and libraries - we might want to integrate it into the existing script that downloads WebKitRequirements and put the files in WebKitLibraries. Use the /vctoolsdir and /winsdkdir flags for clang-cl to point at the CRT and SDK directories, which should expand out into the required compilation / linker flags. Some CMake changes will be needed to duct tape these pieces together - in particular the /vctoolsdir and /winsdkdir flags. Might require some changes to Scripts like build-webkit etc. ---- Running the MiniBrowser / jsc via wine might need other changes, but being able to build would be the first step.
Attachments
Add attachment
proposed patch, testcase, etc.
Fujii Hironori
Comment 1
2024-10-29 17:09:22 PDT
glandium.org » Blog Archive » Standing up the Cross-Compilation of Firefox for Windows on Linux
https://glandium.org/blog/?p=4020
Radar WebKit Bug Importer
Comment 2
2024-11-05 12:32:15 PST
<
rdar://problem/139306427
>
Ian Grunert
Comment 3
2026-01-07 11:32:30 PST
We'd have to switch vcpkg to compile it's dependencies using clang-cl as well. Building icu with clang-cl seems to fail: ``` [554/556] C:\WINDOWS\system32\cmd.exe /C "cd /D S:\WebKit\WebKitBuild\Debug\vcpkg_installed\vcpkg\blds\icu\x64-windows-webkit-dbg && S:\WebKit\WebKitBuild\Debug\vcpkg_installed\vcpkg\blds\icu\x64-windows-webkit-dbg\bin\pkgdata -f -v -c -s S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/build/icudt77l -d S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out -e icudt77 -T S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/tmp -p icudt77l -m dll -L icudt S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/tmp/icudata.lst && "C:\Program Files\CMake\bin\cmake.exe" -E touch S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/icudata_asm_file_stamp" FAILED: data/out/tmp/icudt77l_dat.obj data/out/icudata_asm_file_stamp S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/tmp/icudt77l_dat.obj S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/icudata_asm_file_stamp C:\WINDOWS\system32\cmd.exe /C "cd /D S:\WebKit\WebKitBuild\Debug\vcpkg_installed\vcpkg\blds\icu\x64-windows-webkit-dbg && S:\WebKit\WebKitBuild\Debug\vcpkg_installed\vcpkg\blds\icu\x64-windows-webkit-dbg\bin\pkgdata -f -v -c -s S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/build/icudt77l -d S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out -e icudt77 -T S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/tmp -p icudt77l -m dll -L icudt S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/tmp/icudata.lst && "C:\Program Files\CMake\bin\cmake.exe" -E touch S:/WebKit/WebKitBuild/Debug/vcpkg_installed/vcpkg/blds/icu/x64-windows-webkit-dbg/data/out/icudata_asm_file_stamp" ninja: build stopped: subcommand failed. ``` Might work after icu is updated past 78.1:
https://unicode-org.atlassian.net/browse/ICU-23151
Ian Grunert
Comment 4
2026-01-13 13:16:48 PST
https://github.com/mstorsjo/msvc-wine
This might be able to run MSVC on Linux via wine to solve the vcpkg problem (as well as solving the problem of downloading the required headers and libraries)
Ian Grunert
Comment 5
2026-02-11 12:15:31 PST
Pull request:
https://github.com/WebKit/WebKit/pull/57907
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug