116
edits
m (Minor formatting edits. Previous change added the GCC compiler rebuild procedure :-)) |
|||
Line 30: | Line 30: | ||
* Using [http://msdn.microsoft.com/windowsmobile/downloads/tools/install/default.aspx Microsoft Visual Studio 2005], or | * Using [http://msdn.microsoft.com/windowsmobile/downloads/tools/install/default.aspx Microsoft Visual Studio 2005], or | ||
* Using the [http://download.videolan.org/pub/testing/wince/ Windows CE GCC cross compiler] developed by the [http://www.videolan.org/vlc/ VLC] team ('''do not''' rush to download and install this compiler. It needs to be rebuilt first.). | * Using the [http://download.videolan.org/pub/testing/wince/ Windows CE GCC cross compiler] developed by the [http://www.videolan.org/vlc/ VLC] team ('''do not''' rush to download and install this compiler. It needs to be rebuilt first. More on this [[#Compiling using the GCC toolchain|later]]). | ||
The former is used for building the 0.9.0 branch. | The former is used for building the 0.9.0 branch. | ||
The migration from evc to VS is mandatory, as C++ templates introduced | The migration from evc to VS is mandatory, as C++ templates introduced | ||
through core code evolution in the | through core code evolution in the trunk of ScummVM | ||
cause the evc to compilers to crash with 'Internal compiler error'. | cause the evc to compilers to crash with 'Internal compiler error'. | ||
Unfortunately the migration is not completely successful as VS2005 (no service packs) introduces | Unfortunately the migration is not completely successful as VS2005 (no service packs) introduces | ||
Line 107: | Line 107: | ||
header files live, and the linker's ''additional library directories'' | header files live, and the linker's ''additional library directories'' | ||
to the *.lib files directory (-ies). | to the *.lib files directory (-ies). | ||
For ScummVM 0.9.1, the VS2005 files assume that the directories | For ScummVM 0.9.1, the VS2005 files assume that the directories <tt>lib</tt> | ||
and | and <tt>libinclude</tt> are situated in <tt>backends/wince/missing</tt>. | ||
* Open the Project | * Open the Project | ||
For versions older than 0.9.1, project files can be found in directories | For versions older than 0.9.1, project files can be found in directories | ||
<tt>dists/msevc3</tt> and <tt>dists/msevc4</tt> of the source tree. | |||
For 0.9.1 the project files are in | For 0.9.1 the project files are in <tt>dists/msvc8-wince</tt>. | ||
Open | Open <tt>PocketScumm.vcw</tt> or <tt>PocketScumm.sln</tt>, whatever is applicable. | ||
In the workspace that opens you should be able to see several projects, | In the workspace that opens you should be able to see several projects, | ||
the main one being the "scummvm" project and the others being the | the main one being the "scummvm" project and the others being the | ||
Line 179: | Line 179: | ||
==== GCC ==== | ==== GCC ==== | ||
Checkout the GCC source: | Checkout the [http://gcc.gnu.org/ GCC] source: | ||
svn -q checkout -r {20050511} svn://gcc.gnu.org/svn/gcc/trunk gcc | svn -q checkout -r {20050511} svn://gcc.gnu.org/svn/gcc/trunk gcc | ||
(Note the date. It does not match the date in the VLC patches. Also, later revisions | (Note the date. It does not match the date in the VLC patches. Also, later revisions | ||
Line 185: | Line 185: | ||
Now come the patches. | Now come the patches. | ||
:* First | :* First aply the VLC [http://download.videolan.org/pub/testing/wince/patches/ GCC patch] (maybe a little fuzz here as well). | ||
:* Then, patch <tt>gcc/stor-layout.c</tt> with the patch described [http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01115.html here]. | :* Then, patch <tt>gcc/stor-layout.c</tt> with the patch described [http://gcc.gnu.org/ml/gcc-patches/2006-10/msg01115.html here]. | ||
:* Finally, in <tt>gcc/config/arm/arm.h</tt>, stick the following define somewhere (before the architecture define is OK): | :* Finally, in <tt>gcc/config/arm/arm.h</tt>, stick the following define somewhere (before the architecture define is OK): | ||
Line 250: | Line 250: | ||
* Build | * Build | ||
cd into backends/platform/wince/ and type make dist. | cd into <tt>backends/platform/wince/</tt> and type <tt>make dist</tt>. |
edits