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