Skip to content

Update WindowsPort.md as per #129 and other advisories #130

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions docs/Ports/WindowsPort.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,29 @@
It is using [cairo](https://www.cairographics.org/) for the graphics backend, [libcurl](https://curl.se/libcurl/) for the network backend.
It supports only 64 bit Windows.

## Cloning Webkit
A full clone of the [Webkit repository](https://github.com/WebKit/WebKit) is required. Shallow cloning will not work.

## Installing Development Tools

Install [the latest Visual Studio with "Desktop development with C++" workload](https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation).

If you have *"C++ Clang Tools for Windows"* installed for the workload, this will take precedence and the build will fail. Explicitilty provide the full path to a alternative llvm `clang-cl.exe` in the Webkit Command Prompt script for this case.

[Activate Developer Mode](https://learn.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development#activate-developer-mode).
build-webkit script creates a symlink to a generated compile_commands.json.

Install CMake, Perl, Python, Ruby, gperf \([GnuWin32 Gperf](https://gnuwin32.sourceforge.net/packages/gperf.htm)\), LLVM, and Ninja.
Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Python 3.12 has [a problem for WebKit at the moment](https://webkit.org/b/261113). Use Python 3.11.
- Cmake 4+ has [a dowstream problem for vcpkg woff2 at the moment](https://github.com/WebKit/Documentation/issues/129). Use Cmake 3.31.8.

You can use [Chocolatey](https://community.chocolatey.org/) to install the tools.
[ActivePerl chocolatey package](https://community.chocolatey.org/packages/ActivePerl) has a problem and no package maintainer now.
XAMPP includes Perl, and running layout tests needs XAMPP. Install XAMPP instead.

```
choco install -y xampp-81 python311 ruby git cmake gperf llvm ninja
choco install -y xampp-81 python311 ruby git gperf llvm ninja
choco install -y cmake --version=3.31.8
```

Install pywin32 Python module for run-webkit-tests and git-webkit.
Expand Down Expand Up @@ -73,6 +80,8 @@ set DUMPRENDERTREE_TEMP=%TEMP%

set CC=clang-cl
set CXX=clang-cl
rem set CC=<path-to-llvm>\clang-cl.exe
rem set CXX=<path-to-llvm>\clang-cl.exe

rem set http_proxy=http://your-proxy:8080
rem set https_proxy=%http_proxy%
Expand All @@ -87,6 +96,9 @@ rem set JSC_useDOMJIT=0
rem You can show check TextureMapper FPS via WEBKIT_SHOW_FPS.
rem set WEBKIT_SHOW_FPS=1

rem You can use ccache with pre-compiled headers enabled
rem set CCACHE_SLOPPINESS=pch_defines,time_macros

call "%VSPATH%\VC\Auxiliary\Build\vcvars64.bat"
cd %~dp0
start powershell
Expand Down