[webkit-help] Webkit-Cairo Windows build problems

Jerry Evans jerry at NovaDSP.com
Fri Oct 21 04:49:11 PDT 2011


Can anyone help? I am trying to get the Cairo port built using VS2008* 
and am having problems with files ending up in the wrong locations. I 
suspect I've missed something basic, any help would be much appreciated. 
Thanks

Some examples follow:
---------------------------------------------------------
u:\cygwin\home\JEvans\WebKit\Source\WebCore\WebCore.vcproj>xcopy /y /d 
/s /exclude:xcopy.excludes 
"U:\cygwin\home\JEvans\WebKit\bin\Debug_Cairo_CFLite\obj\WebCore\DerivedSources\InspectorBackendStub.js" 
"U:\cygwin\home\JEvans\WebKit\bin\Debug_Cairo_CFLite\bin\WebKit.resources\inspector" 

File not found - InspectorBackendStub.js

C1083: Cannot open source file: 
'..\..\..\bin\Debug_Cairo_CFLite\obj\WebCore\DerivedSources\MathMLNames.cpp': 

C1083: Cannot open source file: 
'..\..\..\bin\Debug_Cairo_CFLite\obj\WebCore\DerivedSources\MathMLElementFactory.cpp'
C1083: Cannot open source file: 
'..\..\..\bin\Debug_Cairo_CFLite\obj\WebCore\DerivedSources\JSSVGElementWrapperFactory.cpp'
C1083: Cannot open include file: 'WebCore/WebCoreHeaderDetection.h': No 
such file or directory    
u:\cygwin\home\JEvans\WebKit\Source\WebCore\config.h    33

---------------------------------------------------------
An attempt to record, precisely, the steps necessary to build 
WebKit-Cairo using VS2008 or later on Windows 7.

1. Ensure Cygwin SVN is 1.7+. Earlier versions had a DLL problem which 
meant rebasing and consequent failure ...

N.B. Build scripts e.g U:\cygwin\home\JEvans\WebKit\Tools\MiniBrowser
and some .vcproj files assume Cygwin is installed in 
%SYSTEMDRIVE%\Cygwin. *Bad* move.

2. Ensure you can run VS2008 or VS2010 toolchain from a Cygwin bash 
shell. $INCLUDE will also need the paths to the Windows SDK , DirectX etc.
3. Ensure Cygwin bash is in %PATH% so it can be accessed by Visual 
Studio as it is called during builds. Can also be added to executable 
options in VS.
4. In Cygwin:
cd ~ (go to root of home folder)
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit
This creates the WebKit folder in your /home directory - there are 
apparently some hard-coded parts of the build which depend on this 
directory structure (!)
5. Ensure correct environment variables are set*:
WEBKITOUTPUTDIR=U:\cygwin\home\JEvans\WebKit\bin
WEBKITLIBRARIESDIR=U:\cygwin\home\JEvans\WebKit\WebKitLibraries\win
6. From the Webkit root directory run ./Tools/Scripts/update-webkit 
--wincairo to get latest WinCairo* stuff.
7. From the Webkit root directory run ./Tools/Scripts/build-webkit 
--wincairo to create Visual Studio projects
8. Step 6 will fail almost immediately as the solution created is for 
VS2005.
9. Go to path/to/Webkit/Source\WebKit\win\WebKit.vcproj and open 
WebKit.sln. You will be prompted to OK conversion process. Do so.
10. Set the default project to be WinLauncher.
11. Ensure Solution Configuration is set to XXX_Cairo_CFLite where XXX 
is Debug or Release
12. Build ... it will probably fail if you installed Cygwin to somewhere 
other than c:\. I use grepWin* to search and replace all offending files 
thus: %SYSTEMDRIVE% -> %CygDrive%where CygDrive is set to u: (no slash)
13. Restart VS so it picks up any environment changes ...
14. You may well have to build JavaScriptCoreGenerated twice. It seems 
to fail the first time around with some precision
15. The next failure will be in WTF (yeah:). error C2220: warning 
treated as error - no 'object' file generated
It is set to \Wx so no .obj modules are produced when you get warnings 
from HashSet.h and friends ...



*WinCairo 
http://whtconstruct.blogspot.com/2011/04/towards-simpler-wincairo-build.html
*Environment variables: Use REE http://www.rapidee.com/en/download
*grepWin: http://code.google.com/p/grepwin/downloads/list





More information about the webkit-help mailing list