Version 25 (modified by 15 years ago) ( diff ) | ,
---|
Build Instructions for the QtWebKit build on Windows
Dependencies
First of all you need a version of Qt for Windows. If you are an Open Source developer then you can download the Open Source Edition of Qt for Windows from the Nokia Website: http://qt.nokia.com/downloads
The following external GNU tools are needed from the GnuWin32 Project:
- Bison
- GPerf
- Flex
- LibIconv (needed for bison)
- Make (not necessary if you want to build using MSVC)
Install ActiveState Perl
Please install these tools in a path without spaces (i.e. not in "C:\Program Files")
Make sure the GnuWin32 packages are in your PATH as well as Perl. You also need to have %QTDIR% set and have %QTDIR%\bin in your PATH.
If you have Cygwin's bin directory in your path, make sure that it comes after ActiveState Perl and GnuWin32. You might have to remove it completely from your PATH if you have problems with slashes and backslashes while building using MinGW. mingw32-make
and GnuWin32's make
will use sh.exe to run commands if they find it in the PATH.
Building QtWebKit
- Open for example a Qt Command Prompt from the Start Menu.
You need an MSVC or MinGW command line environment that matches the version of Qt you downloaded.
Note that building inside Cygwin or MSYS is currently not supported. Please use a Windows command prompt. - Change into the WebKit source tree
- Run
perl WebKitTools\Scripts\build-webkit --qt
- Wait :)
- Try to run WebKitBuild\Release\bin\QtLauncher.exe
Notes about building QtWebKit with the Qt/Windows OpenSource Edition
- If you want to compile using multiple cores:
- On MinGW use build-webkit's --makeargs option:
perl WebKitTools\Scripts\build-webkit --qt --makeargs=-j4
- On MSVC use the CL environment variable along with the /MP switch:
set CL= /MP
- On MinGW use build-webkit's --makeargs option:
- If you can't access HTTPS pages and you compiled Qt from sources, make sure that you configured it with OpenSSL support. You will need the non-light version of Win32 OpenSSL libraries.
- If you haven't set up your PATH already to include the GnuWin32 packages then you may want to execute the following command:
set PATH=C:\GnuWin32\bin;C:\Perl\bin;%PATH%
Provided that the GnuWin32 packages are installed inC:\GnuWin32\bin
and Perl inC:\Perl\bin
. - If you get build errors in JavaScriptCore\bindings\NP_jsobject.cpp or similar then please make sure that the Microsoft Platform SDK is NOT in your %INCLUDE% path because it conflicts with your MingW headers.
- If you get build errors after makefile generation ("Makefile:178: * Multiple target patterns. Stop.") then you're probably still using the Cygwin version of make. Try removing Cygwin from your %PATH% for the time being (it's not currently supported, as mentioned above).
A 'Works For Me' Step-by-Step Guide to Building QtWebKit on Windows using MinGW
- The the mentioned GnuWin32 tools
- Download QT SDK (and QT Creator) and Download ActivePerl
- Open for example a Qt Command Prompt from the Start Menu.
Click Start->Program Files->Qt->QT Command Prompt
. In fact, you really do need to use Qt Command Prompt for this rather than the normal windows command prompt. - Make sure the GnuWin32 packages are in your PATH as well as Perl (
set PATH=C:\program files\gnuwin32\bin;C:\Perl\site\bin;%PATH%
. - You also need to have %QTDIR% set and have %QTDIR%\bin in your PATH.
- Trim your PATH down as much as possible. Remove Git and Mingw from your PATH if you have them installed, their presence can cause odd build failures. For example, the PATH that works for me is:
set Path=c:\GnuWin32\bin;c:\Qt\2009.01\qt\bin;c:\Qt\2009.01\bin;C:\Perl\bin;C:\Windows\system32;c:\Qt\2009.01\mingw\bin;C:\Perl\site\bin;C:\Windows;C\\Program Files\SlikSvn\bin\
- Note that
c:\Qt\2009.01\qt
above will vary depending on the QT SDK that you downloaded. You should modify it appropriately.
- Note that
- Download WebKit from svn (make sure you've left the location of your svn client in your %PATH% above):
$ svn checkout http://svn.webkit.org/repository/webkit/trunk %HOME%\WebKit $ cd %HOME%/WebKit
- Change into the WebKit source tree:
cd c:\location\of\webkit
- For some reason, the build command was unable to create the
WebKitBuild\Release
folders by itself on my PC. I had to domkdir WebKitBuild
andmkdir WebKitBuild\Release
before building. - You may need to do a
mkdir c:\tmp
. The WebKit build relies on the existence ofc:\tmp
when building in Windows. - Build the patched webkit (release mode):
$perl WebKitTools\Scripts\build-webkit --qt --release
- The webkit build takes forever, so if you have more than one CPU on your machine you should use
--makeargs=-j4
(for 4 CPUs). This will speed up the build no end. Other recommendations are--no-svg
. There is even a--minimal
flag available in recent webkit versions:$perl WebKitTools\Scripts\build-webkit --qt --release --makeargs=-j4 $perl WebKitTools\Scripts\build-webkit --qt --release --no-svg $perl WebKitTools\Scripts\build-webkit --qt --release --minimal