wiki:WindowsWithoutCygwin

Here are the steps I had to take to build WebKit on Windows 10 without Cygwin (Apple Win port)

  1. Install the following programs:
    1. Visual Studio Community. (Make sure you include C++ support.) https://www.visualstudio.com/vs/ Note that you must stay up-to-date with Visual Studio updates if you want to continue building ToT!
    2. ActiveState Perl. 64-bit is fine. http://www.activestate.com/activeperl/downloads
    3. ActiveState Python. Make sure it's version 2.x instead of 3.x. 64-bit is fine. http://www.activestate.com/activepython/downloads Make sure you don't download it from python.org because we hardcode the executable name as "python2.7" and the python.org python doesn't include an executable with that name.
    4. Ruby. 64-bit is fine. http://rubyinstaller.org/
    5. Bison. http://gnuwin32.sourceforge.net/packages/bison.htm Make sure that the installation path does not have spaces in it, because Bison does not correctly quote paths when passing them to m4.
    6. Gperf. http://gnuwin32.sourceforge.net/packages/gperf.htm
    7. Flex. http://gnuwin32.sourceforge.net/packages/flex.htm
    8. GNU Make. http://gnuwin32.sourceforge.net/packages/make.htm
    9. CMake. https://cmake.org/download/
    10. Git. http://www.git-scm.com/download/win Note: Make sure you select the option "Use Git from the Windows Command Prompt." This is because it installs a sh.exe in your path, and if the location of that sh.exe has spaces in it, Make gets confused. When I installed this, I unchecked all the options.
    11. iTunes (yes, really.) http://www.apple.com/itunes/download/ This is needed because it includes the .dlls which implement Apple frameworks like CoreGraphics, CoreAnimation, etc.
    12. The "Ahem" font, used for testing. http://www.w3.org/Style/CSS/Test/Fonts/Ahem/
    13. (Optional: If you intend to interact with Subversion patches) Subversion. http://sourceforge.net/projects/win32svn/
  1. Make sure all the programs you just installed (except Visual Studio and iTunes) are accessible through your $PATH. http://www.itechtics.com/customize-windows-environment-variables/ You may be required to reboot after modifying $PATH before new shells will see the updated variable.
  1. Set HTTP_PROXY and HTTPS_PROXY environment variables if behind a proxy
  1. Tell git your name. > git config --global user.name "John Smith"
  1. Tell git your email address. > git config --global user.email "johnsmith@example.com"
  1. > git clone git://git.webkit.org/WebKit.git
  1. > cd WebKit
  1. (Optional: If you intend to interact with Subversion patches) Automatically configure the local clone to follow Subversion: > python Tools\Scripts\webkit-patch setup-git-clone
  1. Download the WebKit Support Libraries to the root of your source tree https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html If the file is incorrectly named, rename it to WebKitSupportLibrary.zip. Do not extract its contents. This archive includes an SDK (headers only) for the Windows builds of the Apple stack of software (like CoreGraphics, for example).
  1. > cd Tools\Scripts
  1. > perl update-webkit Note that this command will automatically download WebKitAuxiliaryLibraries.zip from Apple and extract it into your tree (inside the WebKitLibraries folder). This archive includes Windows builds of all the public libraries that WebKit depends on (like libxml2). Note also that this command might set environment variables.
  1. If the above command asks you to reboot your machine, do so
  1. > perl build-webkit Note that this command will automatically extract WebKitSupportLibrary.zip (which you downloaded in step 6) into your tree (inside the WebKitLibraries folder).

If you have any problems, please file bugs on mmaxfield@apple.com or Brent Fulgham or achristensen@apple.com

Last modified 3 years ago Last modified on Jan 28, 2017 11:54:50 PM