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
Architecture
avr_architecture – Enumeration
The AVR instruction set architecture revision.
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.
Flash Size
avr_flash_size – Enumeration
The maximum size of flash memory.
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.
ISR Section Name
default_isr_section – String
Specifies the default name to use for the ISR code.
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.