x86_initial.txt 2.1 KB

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