CONTENTS | PREV | NEXT
0D. installing/using the compiler
----------------------

To install Amiga E on your system, just copy the whole distribution to some
place in your system, extend your path to the BIN directory, and assign
EMODULES:  to the `Modules' directory.  If you're upgrading from a previous
version, please reinstall this release, and use your older registrated
compiler (v3.0a, v3.1a or v3.2a) in combination with the corresponding patch
(in the Bin/ directory) to create the v3.3a EC executable.

syntax of the compiler (2.04+):

SOURCE/A,REG=NUMREGALLOC/N/K,LARGE/S,SYM=SYMBOLHUNK/S,NOWARN/S,
QUIET/S,ASM/S,ERRLINE/S,ERRBYTE/S,SHOWBUF/S,ADDBUF/N/K,IGNORECACHE/S,
HOLD/S,WB/S,LINEDEBUG/S,OPTI/S,DEBUG/S,NILCHECK/S: 

for 1.2 to 2.03:

EC [-opts] <sourcefile>

As an example we'll compile the program 'HelloWorld.e'. The compiler will
produce an executable 'HelloWorld'.

1>  cd e:src
E:Src>  ec helloworld
Amiga E Compiler/Assembler/Linker v2.4f (c) 91/92/93 $#%!
lexical analysing ...
parsing and compiling ...
no errors
E:Src>  helloworld
Hello, World!
E:Src>  list
HelloWorld.e                  89 ----rwed Oggi      17:37:00
helloworld                   656 ----rwed Oggi      17:37:00
2 files - 4 blocks used
E:Src>

note: the compiler cannot be made resident

Options.
These are standard AmigaDos options. You can see them at any time by typing
'EC ?'. For 1.2 options the old unix-like switches are used (need to be
written together, preceded by a "-"):

LARGE		-l	compiles with large code/data model (see  16A , OPT LARGE).
ASM		-a	puts EC into assembler mode (see  15D , OPT ASM).
NOWARN		-n	suppresses warnings (see  16A , OPT NOWARN)
SYM		-s	adds a symbolhunk to the executable, for use with
			profilers, debuggers, disassemblers etc.
LINEDEBUG	-L	adds a "LINE" debughunk to the executable, for use
			with profilers, debuggers etc. (see  17K ).
REG=N		-rN	uses N regs per PROC for register-allocation.
			(default is 0 for the time being, read elsewhere
			about how to use this!)
QUIET		-q	if there are no errors or warnings, EC won't output
			anything.
WB		-w	puts wb to front (for scripts)
SHOWBUF		-b	shows buffer memory usage information
ADDBUF=X	-mX	forces EC to allocate more memory for its buffers.
			X ranges 1..9, the minimum number of 100k blocks to allocate.
		        default is 1 (never needed).
ERRLINE		-e	give the line# the error was on as returnvalue
ERRBYTE		-E	give the byte-offset in the file the error was on
			as returnvalue
IGNORECACHE	-c	don't use the module-cache in any way
HOLD		-h	wait for a <return> on the commandline before
			exiting EC.
OPTI			enable all optimisations (currently equals REG=5)
DEBUG			attach debug infos to executable/module (see  17K )
NILCHECK		insert code at every "." or "[]" dereference to check
			for a NIL pointer. Will throw an exception of the form
			Throw("NIL",source_line_number)

example:  ec large blabla
compiles blabla.e with large model.
NOTE: in most cases you won't need to use any of these options