sbsv2/raptor/notes/x86_initial.txt
changeset 625 a1925fb7753a
child 630 31ef8a13d4f4
equal deleted inserted replaced
624:f70b728ea30c 625:a1925fb7753a
       
     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