[[PageOutline]] WebKit development on Windows is currently quite tedious and error-prone. This page lists some ideas for how to improve it. = Set-up = == Check in a Cygwin installation to `svn.webkit.org` == [http://www.chromium.org/ Chromium] does this (see http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/cygwin/). This would remove the need for [source:trunk/WebKitTools/CygwinDownloader cygwin-downloader], or for users to have Cygwin installed at all. This would fix BuildingOnWindows#MissingpackagesinCygwin. == Allow using non-Cygwin Subversion == This is covered by [https://bugs.webkit.org/show_bug.cgi?id=27323 bug 27323] and would fix BuildingOnWindows#Badlineendings. = Building = == Detect when the Windows Platform SDK is missing == `update-webkit` and/or `build-webkit` should detect when the Windows Platform SDK is missing and warn the user. This would fix BuildingOnWindows#VisualCExpressEdition. == Set the `WebKitOutputDir` and `WebKitLibrariesDir` environment variables automatically == The `WebKitOutputDir` and `WebKitLibrariesDir` environment variables have to be set to be able to build inside Visual Studio. We should set these automatically as part of running `update-webkit` (maybe by tickling `HKCU\Environment` directly). This would fix BuildingOnWindows#WebKitLibrariesDir and obviate BuildingOnWindows#BuildingfromwithinVisualStudio. == Make "Clean Solution" clean everything == "Clean Solution" in Visual Studio currently leaves behind lots of files, such as autogenerated bindings, so the next build isn't really "clean". We should make "Clean Solution" really clean everything. == Make the build system more maintainable == See MakingTheWindowsBuildSystemMoreMaintainable. = Running/Debugging = == Don't copy Safari into `%TMP%` == `run-safari` and `debug-safari` currently copy Safari into `%TMP%`. We should switch to using [source:trunk/WebKitTools/WebKitLauncherWin WebKitLauncherWin] now that Safari 4.0.3 has shipped. = Running Regression Tests = == Detect when required fonts are missing == `run-webkit-tests` should check when required fonts are missing (e.g., East Asian language support) and warn the user. == Automatically rebase `libphp4.dll` == `run-webkit-tests` should automatically rebase `libphp4.dll`. That would fix BuildingOnWindows#ErrorlaunchingApachefromrun-webkit-testsonVista.