Changes between Initial Version and Version 1 of WinCE


Ignore:
Timestamp:
Jul 24, 2010 6:22:46 PM (14 years ago)
Author:
paroga@paroga.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WinCE

    v1 v1  
     1[[PageOutline]]
     2
     3= Windows CE Port of WebKit =
     4
     5WebKit is an open source web browser engine. WebKit WinCE is a project aiming at porting this fabulous engine to Windows CE.
     6
     7The WinCE port of WebKit currently compiles on Windows.
     8
     9
     10== Status ==
     11
     12WebKit WinCE port is based on the work by Torche Mobile and is currently under development.
     13
     14== Getting the Source ==
     15As the port is not completely upstreamed yet, one can get only the partial source code from official [http://webkit.org/building/checkout.html WebKit repository]. Instead, we are hosting our development in http://gitorious.org/+wincewebkit-developers/webkit/wincewebkit.
     16
     17{{{
     18git clone git://gitorious.org/+wincewebkit-developers/webkit/wincewebkit.git
     19}}}
     20
     21Third party libraries are under "3rdparty" directory.
     22
     23
     24== Build ==
     25
     26We use [http://cmake.org/ CMake] as our build system. You don't need a full Cygwin environment, but the following tooles are required:
     27
     28 * bison
     29 * flex
     30 * gperf
     31 * perl
     32 * python
     33
     34=== Windows CE SDK ===
     35
     36Visual Studio 2005 (No Express Edition!) with a Windows CE SDK is required to build the binary. Visual Studio 2008 should work too.
     37
     38You can find the Windows CE 5 Standard SDK at http://www.microsoft.com/downloads/details.aspx?familyid=fa1a3d66-3f61-4ddc-9510-ae450e2318c3. Any other SDK should work too.
     39
     40=== Build CMake with WinCE support ===
     41
     42Because the offical CMake has not support for Windows CE at the moment, we need to use the CMake version from AlexeyS.
     43
     44{{{
     45git clone git://github.com/AlexeyS/cmake.git
     46}}}
     47
     48Follow the instructions in the Readme.txt to build a CMake with WinCE support.
     49
     50=== Build WebKit ===
     51
     52When you have a working CMake with WinCE support you can generate a Visual Studio Solution out of the CMake files.
     53
     54{{{
     55mkdir WebKitBuild
     56cd WebKitBuild
     57cmake -G "Visual Studio 8 2005 for Windows CE" -DPORT:STRING=WinCE -DCMAKE_WINDOWS_CE_PLATFORM:STRING="STANDARDSDK_500 (ARMV4I)" C:\WebKitSource
     58}}}
     59
     60This will generate a WebKit.sln in the WebKitBuild directory from the sourcecode in C:\WebKitSource. You can change the generator to {{{Visual Studio 9 2008 for Windows CE}}} if you want to generate Visual Studio 2008 projects. It is also possible to select an other Windwos CE SDK when you replace the {{{STANDARDSDK_500 (ARMV4I)}}} with the name of SDK you want to use.
     61
     62Now you should be able to open the solution and build it.
     63
     64==== Possible Builderrors ====
     65Because of the fact that the buildsystem isn't 100% finished you may see one or more of the following errors:
     66
     67{{{
     68example.h(123) : fatal error C1083: Cannot open include file: 'ExampleNames.h': No such file or directory
     69}}}
     70This should happen only with the first build, because of some missing dependencies. When you build the solution a second time (wait until the first is finished!) they will be gone.
     71
     72{{{
     73Creating library...
     74LIB : warning LNK4068: /MACHINE not specified; defaulting to X86
     75example.obj : fatal error LNK1112: module machine type 'ARM' conflicts with target machine type 'X86'
     76}}}
     77To fix this issue open the project properties and navigate to "Configuration Properties" / "Librarian" / "Command Line" and add {{{/MACHINE:ARM}}} into the "Additional options".
     78
     79{{{
     80example.lib(example.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in coredll.lib(COREDLL.dll)
     81example.lib(example.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in coredll.lib(COREDLL.dll)
     82}}}
     83If you get tons of this messages you hit http://support.microsoft.com/kb/148652. Moving all windows libraries after the WebKit libraries in "Configuration Properties" / "Linker" / "Additional Dependencies" will solve this problem.
     84
     85== Questions and feedback ==
     86
     87If you have questions please send an email to Patrick Gansterer <paroga@paroga.com>