The OPT keyword

EEC Documentation


The OPT keyword

OPT may be followed by:

  • MODULE Declare source as module.
  • EXPORT Export everything from module, except PRIVATE stuff.
  • NOWARN Disable the output of all warnings.
  • OSVERSION ECX 1.6.0+ Explicitly define the minimum os version we require. ECX will warn if we make use of a module with a version number higher than the version we have requested with OPT OSVERSION, but only if the module in question contains code. Startup will fail as usual if started on a version of the os < OSVERSION.

    If OSVERION is not defined, ECX will automatically set it to the highest OSVERSION of any module used, that contains code, otherwise leave it to zero. ECX shows the osversion in the normal shell output, if it is > 0. Note that the startup may require a higher osversion than the one you have defined..

    Input / output / paths

  • DIR Add another directory to the list of directories to search for modules in. Directory will be placed at top of list. Multiple directories may be specified, the right-most will get searched first. ex: OPT DIR = ‘ecymodules: bla:urgh/’.
  • EXENAME Tell ECX to name resulting executable/library differently. Filename only, does not alter directory. Example: OPT EXENAME = 'myfantasticexe'
  • MODNAME Tell ECX to name resulting module differently. Filename only, does not alter directory. ‘.m’ will get appended to name. Example: OPT MODNAME = 'myfantasticmod'

    Compatibility

  • ASM Does nothing. For compatibility.
  • LARGE For compatibility. does nothing.
  • FPEXP For compatibility with CreativE. Turns on OPT ROUNDNEAR.

    Optimisation

  • REG Does the same as NUMREGALLOC/N command line option. ex: “REG=5”.
  • FREG Like REG, but for DOUBLE vars.

    Preprocessing

  • PREPROCESS Enable preprocessing of source.

    Targets

  • POWERPC DEPRECATED,OBSOLETE Does the same as MORPHOS.
  • AMIGAOS Compile code for AmigaOS.
  • AMIGAOS4 Compile code for AmigaOS4.
  • MORPHOS Compile code for MorphOS.
  • NATURALALIGN Forces natural alignment of OBJECT members, that is LONG at 4-byte boundaries, DOUBLE at 8-byte boundaries, etc.
  • ROUNDNEAR Make integer to float conversion round to nearest instead of the default towards zero.

Startupcode

  • STACK Manually set the stacksize that startupcode will allocate. ex : OPT STACK=50000

  • MINSTARTUP A very minimal startup code will be used. No libraries are opened (except execbase). No stdin, stdout or wbmessage. Built-in memory functions, exceptions, globals, inline lists, will work. Avoid using mixed code (ppc+68k). (Similar to CreativE’s OPT NOSTARTUP. Sorry for name confusion. NOSTARTUP works different with ECX, see below).

  • NOSTARTUP No startupcode will be used. Execution will start at the first piece of code in the main source (through a jump though). Nothing is initialised at this point. Immediate lists will not work, neither will any global variables or exceptions.

    Other

  • NODEFMODS Disable loading of the default modules: exec.m,dos.m,intuition.m,graphics.m