sbsv2/raptor/notes/x86_initial.txt
changeset 28 b8fa7dfeeaa1
equal deleted inserted replaced
27:3a31ca4b29c4 28:b8fa7dfeeaa1
       
     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 A component supports a build using the above x86 configurations if its
       
    26 bld.inf file has an empty or missing PRJ_PLATFORMS section or PRJ_PLATFORMS is
       
    27 populated specifically with X86, DEFAULT, BASEDEFAULT or BASEUSERDEFAULT.
       
    28 
       
    29 The above x86 group and aliases check that the GCC installation is version 3.4.5
       
    30 but, other than that, it is the end user's responsibility to provide a toolchain
       
    31 that is suitable for an x86 build; currently the x86 build requires a custom
       
    32 GCC toolchain that differs from vanilla MinGW releases.
       
    33 
       
    34 By default, and in common with other Raptor build configurations, x86 build
       
    35 output locations are architecture rather than toolchain based, therefore the
       
    36 following output folders are used:
       
    37 
       
    38 %EPOCROOT%\epoc32\release\x86\lib
       
    39 %EPOCROOT%\epoc32\release\x86\urel
       
    40 %EPOCROOT%\epoc32\release\x86\udeb
       
    41 
       
    42 An optional release_x86gcc variant is available if the output directories need
       
    43 to differentiate based on the toolchain used.  This variant can be used as
       
    44 follows:
       
    45 
       
    46 sbs -c x86.release_x86gcc
       
    47 
       
    48 ...and will lead to the use of these output directories:
       
    49 
       
    50 %EPOCROOT%\epoc32\release\x86gcc\lib
       
    51 %EPOCROOT%\epoc32\release\x86gcc\urel
       
    52 %EPOCROOT%\epoc32\release\x86gcc\udeb