Changing compiler options

option(name,value) sets the option name to the specified value. An empty string is the boolean FALSE value. A non empty string, typically "T", represents the boolean TRUE value.

Important: For the specified compiler options to take effect, your option lines must preceed any program or library directives in the m3makefile.

The recognized options are:

optimization
Produce optimized code.
debuginfo
Produce debugging information (default).
coverage
Produce code to generate coverage information.
profiling
Produce code to generate profiling information.
shared_lib
Create dynamic (shared) libraries (default).
static_lib
Create static libraries (default).
standalone
Link with static libraries to produce a standalone executable program.
gui
Create a gui non console program on Win32.
times
Produce statistics about compilation time.
msg_level
Determine the level of verbosity for the compilation from 0 to 4 (Silent, Explain, Commands, Verbose, Debug)
warning_level
Determine the compiler propension to issue warnings, from 0 to 3
internal_backend
Use the faster internal backend, if available (default).

Other options are available for compilation debugging and performance analysis, or for internal use. These options are not for the casual user.

keep_files
Keep temporary files for debugging.
bootstrap
Create a bootstrap distribution.
dump_config
Print compiler configuration parameter.
heap_stats
Print heap usage statistics.
keep_cache
Persistent cache, (not usable).
no_make
Do not really build.
compile_once
Do not recompile for new opaque info.
skip_link
Do not link.
m3main_in_C
Generate the main program as a C file.
NoChecks
Disable runtime checks.
NoAsserts
Disable assertion checking.
NoNarrowChk
Disable runtime Narrow checks.
NoRangeChk
Disable runtime Range checks.
NoReturnChk
Disable runtime Return checks.
NoCaseChk
Disable runtime CASE statement checks.
NoTypeCaseChk
Disable runtime TYPECASE statement checks.
NoNilChk
Disable runtime NIL checks.
NoRaisesChk
Disable runtime RAISES checks.
InitFloats
Initialize floats to 0.0.
vsdebug
Debug version stamps.
builtins
Internal.
load_map
Internal.
unfold_nested_procs
Internal.