Ofront+ QuickStart
==================

*See English text below*

Для запуска транслятора из командной строки вам нужно три вещи:


1. Если работа происходит в нескольких папках, то важно чтобы транслятор
   мог найти символьные файлы *.sym, необходимые для трансляции, т.к.
   в них хранится информация об интерфейсах импортируемых модулей.
   Поэтому задайте переменную OBERON, содержащую пути для поиска:

   UNIX / Linux (путь относительно Target/Linux_*/Obj):

     export OBERON=.:../Lib/Sym:../Sym

   Windows (путь относительно Target/Win*/Obj):

     SET OBERON=%CD%;%CD%\..\Lib\Sym;%CD%\..\Sym


2. Необходимо задать разрядность и выравнивание типов данных для целевых
   Си-файлов. Это делается с помощью опций:

     -21: адрес 16 бит, SIZE(SET) = 1 байт (напр. проц. Zilog Z80)
     -44: адрес 32 бита, выравнивание 32 бита (UNIX/Linux 32 бит на x86)
     -48: адрес 32 бита, выравнивание 64 бита (Windows 32 бит, Linux 32 бит/ARM)
     -88: адрес 64 бита, выравнивание 64 бита (64-битные платформы)


3. При вызове компилятора Си включайте в поиск каталоги Mod/Lib (там хранится
   SYSTEM.oh) и Lib/Obj* нужной разрядности, а также библиотеку Ofront:

   UNIX / Linux:

     gcc modName.c -s -Os -fno-exceptions -I../../Mod/Lib -I../Lib/Obj -L../Lib -o../modName -lOfront

   Windows:

     gcc modName.c -s -Os -fno-exceptions -I..\..\Mod\Lib -I..\Lib\Obj -o..\modName.exe ..\Lib\Ofront.a


------------------------------------------------------------------------------

To start translator from command line you will need three things:


1. If work takes place in several directories, it is important that
   the translator can find symbol files *.sym, required for translation,
   as they store information about the interfaces of the imported modules.
   Define OBERON environment variable, that contains the search paths:

   UNIX / Linux (path relative to Target/Linux_*/Obj):

     export OBERON=.:../Lib/Sym:../Sym

   Windows (path relative to Target/Win*/Obj):

     SET OBERON=%CD%;%CD%\..\Lib\Sym;%CD%\..\Sym


2. You must specify the address size and alignment of data types for
   the target C files. This is done using the following options:

   -21: 16 bit addresses, SIZE(SET) = 1 byte (e.g. Zilog Z80 CPU)
   -44: 32 bit addresses, 32 bit alignment (UNIX/Linux 32 bit on x86)
   -48: 32 bit addresses, 64 bit alignment (Windows 32 bit, Linux 32 bit/ARM)
   -88: 64 bit addresses, 64 bit alignment (64 bit platforms)


3. When invoking a C compiler, include directories Lib/Mod (SYSTEM.oh lives there)
   and Lib/Obj* of the required bit depth, and the library Ofront:

   UNIX / Linux:

   gcc modName.c -s -Os -fno-exceptions -I../../Mod/Lib -I../Lib/Obj -L../Lib -o../modName -lOfront

   Windows:

   gcc modName.c -s -Os -fno-exceptions -I..\..\Mod\Lib -I..\Lib\Obj -o..\modName.exe ..\Lib\Ofront.a
