CONTENTS | PREV | NEXT
16A. the OPT keyword
--------------------
OPT, LARGE, STACK, ASM, NOWARN, DIR, OSVERSION, MODULE, EXPORT, RTD, REG
syntax: OPT <options>,...
allows you to change some compiler settings:
LARGE Sets code and data model to large. Default is small;
the compiler generates mostly pc-relative code, with a
max-size of 32k. With LARGE, there are no such limits,
and reloc-hunks are generated (see 0D , LARGE).
STACK=x Set stacksize to x bytes yourself. Only if you know what
you are doing. Normally the compiler makes a very good
guess itself at the required stack space (see 16C ).
ASM Set the compiler to assembly mode. From there on, only
assembly instructions are allowed, and no initialisation
code is generated. (see 15D , inline assembly)
NOWARN Shut down warnings. The compiler will warn you if it
*thinks* your program is incorrect, but still syntactically
ok. (see 0D , -n)
DIR=moduledir Sets the directory where the compiler searches for modules.
default='emodules:'
OSVERSION=vers Default=33 (v1.2). Sets the minimum version of the kickstart
(like 37 for v2.04) your program runs on. That way, your
program simply fails while the dos.library is being opened
in the initialisation code when running on an older machine.
However, checking the version yourself and giving an
appropriate error-message is more helpful for the user.
MODULE denotes this source to be a module. (see 10C )
EXPORT automatically export all declarations in a module
RTD generates RTD's instead of RTS in the main source.
020+ only. [experimental optimisation]
020,881,040 generate code for these CPUs. not really usable yet.
REG=n use n register for register-allocation.
example:
OPT STACK=20000,NOWARN,DIR='df1:modules',OSVERSION=39,REG=3