Assembler Options

Property Description
Additional Assembler Options
asm_additional_options  – StringList
Enables additional options to be supplied to the assembler. This property will have macro expansion applied to it.
Additional Assembler Options From File
asm_additional_options_from_file  – ProjFileName
Enables additional options to be supplied to the assembler from a file. This property will have macro expansion applied to it.

Code Generation Options

Property Description
Block Localization Optimization
optimize_block_locality  – Boolean
Reduce spand-dependent jumps by rearranging basic blocks to improve their locality.
Code Factoring Optimization
optimize_cross_calling  – Enumeration
Reduces code size at the expense of execution speed by factoring common code sequences into subroutines.
Code Factoring Passes
linker_cross_call_maximum_passes  – IntegerRange
The maximum number of passes to perform when code factoring (0=unlimited).
Code Factoring Subroutine Size
linker_cross_call_minimum_subroutine_size  – IntegerRange
The minimum size of subroutine created by code factoring.
Code Motion Optimization
optimize_code_motion  – Boolean
Rearrange code to reduce the number of jump instructions.
Copy Propagation Optimization
optimize_copy_propagation  – Boolean
Tries to eliminate copy instructions and reduce code size.
Cross Jumping Optimization
optimize_cross_jumping  – Boolean
Always reduces code size at the expense of a single jump instruction.
Dead Code Elimination
optimize_dead_code  – Boolean
Remove code that is not referenced by the application.
Enable Exception Support
cpp_enable_exceptions  – Boolean
Specifies whether exception support is enabled for C++ programs.
Enable RTTI Support
cpp_enable_rtti  – Boolean
Specifies whether RTTI support is enabled for C++ programs.
Enhanced Processor Core
maxq20_build_enhanced_core  – Boolean
Enables code generation for the MAXQ20C and MAXQ20S enhanced processor cores.
Flattening Optimization
optimize_flattening  – Boolean
Subroutines that are just a call followed by a return are flattened into a jump.
Jump Chaining Optimization
optimize_jump_chaining  – Boolean
Reduce spand-dependent jump sizes by chaining jumps together.
Jump Threading Optimization
optimize_jump_threading  – Boolean
Follow jump chains and retarget jumps to jump instructions.
Optimization Strategy
compiler_optimization_strategy  – Enumeration
Minimize code size or maximize execution speed (positive values).
Peephole Optimization
optimize_peepholes  – Boolean
Find instruction sequences that can be replaced with faster, smaller code.
Register Allocation
optimize_register_allocation  – Enumeration
Whether to allocate registers to locals or locals and global addresses.
Tail Merging Optimization
optimize_tail_merging  – Boolean
Always reduces code size at the expense of a single jump instruction.
Treat 'double' as 'float'
double_is_float  – Boolean
Forces the compiler to make 'double' equivalent to 'float'.
Use Hardware Multiplier
build_use_hardware_multiplier  – Enumeration
Enables code generation for the hardware multiplier.

Compiler Options

Property Description
Additional C Compiler Only Options
c_only_additional_options  – StringList
Enables additional options to be supplied to the C compiler only. This property will have macro expansion applied to it.
Additional C Compiler Only Options From File
c_only_additional_options_from_file  – ProjFileName
Enables additional options to be supplied to the C compiler only from a file. This property will have macro expansion applied to it.
Additional C Compiler Options
c_additional_options  – StringList
Enables additional options to be supplied to the C compiler. This property will have macro expansion applied to it.
Additional C Compiler Options From File
c_additional_options_from_file  – ProjFileName
Enables additional options to be supplied to the C compiler from a file. This property will have macro expansion applied to it.
Additional C++ Compiler Only Options
cpp_only_additional_options  – StringList
Enables additional options to be supplied to the C++ compiler only. This property will have macro expansion applied to it.
Additional C++ Compiler Only Options From File
cpp_only_additional_options_from_file  – ProjFileName
Enables additional options to be supplied to the C++ compiler only from a file. This property will have macro expansion applied to it.
Enforce ANSI Checking
c_enforce_ansi_checking  – Boolean
Ensure programs conform to the ANSI-C/C++ standard.
Object File Name
build_object_file_name  – FileName
Specifies a name to override the default object file name.

Preprocessor Options

Property Description
Ignore Includes
c_ignore_includes  – Boolean
Ignore the include directories properties.
Preprocessor Definitions
c_preprocessor_definitions  – StringList
Specifies one or more preprocessor definitions. This property will have macro expansion applied to it.
Preprocessor Undefinitions
c_preprocessor_undefinitions  – StringList
Specifies one or more preprocessor undefinitions. This property will have macro expansion applied to it.
System Include Directories
c_system_include_directories  – StringList
Specifies the system include path. This property will have macro expansion applied to it.
Undefine All Preprocessor Definitions
c_undefine_all_preprocessor_definitions  – Boolean
Does not define any standard preprocessor definitions.
User Include Directories
c_user_include_directories  – StringList
Specifies the user include path. This property will have macro expansion applied to it.

Section Options

Property Description
Code Section Name
default_code_section  – String
Specifies the default name to use for the program code section.
Constant Section Name
default_const_section  – String
Specifies the default name to use for the read-only constant section.
Data Section Name
default_data_section  – String
Specifies the default name to use for the initialized, writable data section.
Vector Section Name
default_vector_section  – String
Specifies the default name to use for the interrupt vector section.
Zeroed Section Name
default_zeroed_section  – String
Specifies the default name to use for the zero-initialized, writable data section.

User Build Step Options

Property Description
Post-Compile Command
compile_post_build_command  – String
A command to run after the compile command has completed. This property will have macro expansion applied to it with the additional $(TargetPath) macro set to the output filepath of the compiler command.
Post-Compile Working Directory
compile_post_build_command_wd  – String
The working directory where the post-compile command is run. This property will have macro expansion applied to it.
Pre-Compile Command
compile_pre_build_command  – String
A command to run before the compile command. This property will have macro expansion applied to it.
Pre-Compile Command Output File Path
compile_pre_build_command_output_file_name  – String
The pre-compile generated file name. This property will have macro expansion applied to it.
Pre-Compile Working Directory
compile_pre_build_command_wd  – String
The working directory where the pre-compile command is run. This property will have macro expansion applied to it.