# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MPLAB XC16 C-Compiler

- 1
- 2
…
- 49
- 50
- 51
- 52
- 53
…
- 365
- 366

XC16 Toolchain and MPLAB X IDE
 2012-2013 Microchip Technology Inc. DS50002071C-page 51
3.5 PROJECT SETUP
To set up an MPLAB X IDE project for the first time, use the built-in Project Wizard
(File>New Project
). In this wizard, you will be able to select a language toolsuite that
uses the 16-bit language tools. For more on the wizard and MPLAB X IDE projects, see
MPLAB X IDE documentation.
Once you have a project set up, you may then set up properties of the tools in MPLAB
X IDE.
1. From the MPLAB X IDE menu bar, select File>Project Properties
to open a
window to set/check project build options.
2. Under Conf:[default], select a tool from the tool collection to set up.
- XC16 (Global Options)
- xc16-as (16-Bit Assembler)
- xc16-gcc (16-Bit C Compiler)
- xc16-ld (16-Bit Linker)
3.5.1 XC16 (Global Options)
Set up global options for all 16-bit language tools. See also Options Page Features.
3.5.2 xc16-as (16-Bit Assembler)
A subset of command-line options may be specified in MPLAB X IDE. Select a cate-
gory, and then set up assembler options. For additional options, see MPLAB XC16
Assembler documentation. See also Options Page Features.
TABLE 3-1: ALL OPTIONS CATEGORY
Option Description Command Line
Output file format Select either ELF/DWARF or COFF. -omf=elf
-omf=cof
Define common macros Add macros common to compiler, assembler and linker. -Dmacro
Generic build Build for a generic core device (no peripherals).
Use legacy lib Check to use libraries in the format before v3.25.
Uncheck to use the new (HI-TECH) libraries format.
-legacy-libc
Fast floating point math Check to use faster single and double floating point libraries, which
consume more RAM.
Uncheck to use original libraries which are slower but create
smaller code.
-fast-math
Dont delete intermediate
files
Check to not delete intermediate files. Place them in the object
directory and name them based on the source file.
Uncheck to remove intermediate files after a build.
-save-temps=obj
TABLE 3-2: GENERAL OPTIONS CATEGORY
Option Description Command Line
Define ASM macros (.S
only)
Add assembler macros. -Dmacro
Assembler symbols Define symbol 'sym' to a given 'value'. --defsym sym=value
ASM include dirs Add a directory to the list of directories the assembler
searches for files specified in .include directives.
For more information, see Section 3.5.6 Additional Search
Paths and Directories.
-I"dir"
Preprocessor include dirs Add a directory to the list of directories the compiler prepro-
cessor searches for files specified in .include directives.
For more information, see Section 3.5.6 Additional Search
Paths and Directories.
-I"dir"

- 1
- 2
…
- 49
- 50
- 51
- 52
- 53
…
- 365
- 366