625
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
1 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
2 |
Raptor now supports a basic x86 OS build on Windows given the installation
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
3 |
of an appropriate MinGW GCC toolchain (available separately).
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
4 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
5 |
This is very much a first cut of the core x86 support, and should be considered
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
6 |
alpha quality, but the fundamentals are now present to build EXE, DLL, IMPLIB
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
7 |
and LIB TARGETTYPEs, as well as most fixed export TARGETTYPEs. Support for
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
8 |
functionality not directly related to a release build e.g. freezing, assembler
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
9 |
listing, single file compilation etc. is either not yet implemented or
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
10 |
untested, so should not be expected to work correctly.
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
11 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
12 |
In order to build components for an x86 configuration, an SBS_GCCX86BIN
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
13 |
environment variable must first be set, with a path as its value, pointing to
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
14 |
the "bin" directory of the MinGW installation intended for use in the build
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
15 |
e.g.:
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
16 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
17 |
SBS_GCCX86BIN=C:\apps\MinGW\bin
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
18 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
19 |
x86 build configurations should then be available for use as follows:
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
20 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
21 |
sbs -c x86
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
22 |
sbs -c x86_urel
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
23 |
sbs -c x86_udeb
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
24 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
25 |
If a component supports a build for X86GCC or ARMV5 then it will support a
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
26 |
build using Raptor's x86 support if requested i.e. if one of the above build
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
27 |
configurations is used and, for example, the component's bld.inf file has an
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
28 |
empty PRJ_PLATFORMS section or PRJ_PLATFORMS is populated with X86GCC, ARMV5,
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
29 |
DEFAULT, BASEDEFAULT etc.
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
30 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
31 |
The above x86 group and aliases check that the GCC installation is version 3.4.5
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
32 |
but, other than that, it is the end user's responsibility to provide a toolchain
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
33 |
that is suitable for an x86 build; currently the x86 build requires a custom
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
34 |
GCC toolchain that differs from vanilla MinGW releases.
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
35 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
36 |
By default, and in common with other Raptor build configurations, x86 build
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
37 |
output locations are architecture rather than toolchain based, therefore the
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
38 |
following output folders are used:
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
39 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
40 |
%EPOCROOT%\epoc32\release\x86\lib
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
41 |
%EPOCROOT%\epoc32\release\x86\urel
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
42 |
%EPOCROOT%\epoc32\release\x86\udeb
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
43 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
44 |
An optional release_x86gcc variant is available if the output directories need
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
45 |
to differentiate based on the toolchain used. This variant can be used as
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
46 |
follows:
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
47 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
48 |
sbs -c x86.release_x86gcc
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
49 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
50 |
...and will lead to the use of these output directories:
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
51 |
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
52 |
%EPOCROOT%\epoc32\release\x86gcc\lib
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
53 |
%EPOCROOT%\epoc32\release\x86gcc\urel
|
Richard Taylor <richard.i.taylor@nokia.com>
parents:
diff
changeset
|
54 |
%EPOCROOT%\epoc32\release\x86gcc\udeb
|