7.1.2 Environment Variables

The variables in this section are optional, but if defined, they will be used by the compiler. The compiler driver, or other subprogram, may choose to determine an appropriate value for some of the following environment variables if they are unset. The driver, or other subprogram, takes advantage of internal knowledge about the installation of the compiler. As long as the installation structure remains intact, with all subdirectories and executables remaining in the same relative position, the driver or subprogram will be able to determine a usable value.

Table 7-1. Compiler-Related Environmental Variables
VariableDefinition
XC16_C_INCLUDE_PATH

PIC30_C_INCLUDE_PATH

This variable’s value is a semicolon-separated list of directories, much like PATH. When the compiler searches for header files, it tries the directories listed in the variable, after the directories specified with -I but before the standard header file directories.

If the environment variable is undefined, the preprocessor chooses an appropriate value based on the standard installation. By default, the following directories are searched for the following include files:

<install-path>\include and

<install-path>\support\h

XC16_COMPILER_
PATH

PIC30_COMPILER_
PATH

The value of the variable is a semicolon-separated list of directories, much like PATH. The compiler tries the directories thus specified when searching for subprograms, if it can’t find the subprograms using PIC30_EXEC_PREFIX.
XC16_EXEC_
PREFIX

PIC30_EXEC_
PREFIX

If the environment variable is set, it specifies a prefix to use in the names of subprograms executed by the compiler. No directory delimiter is added when this prefix is combined with the name of a subprogram, but you can specify a prefix that ends with a slash if you wish. If the compiler cannot find the subprogram using the specified prefix, it tries looking in your PATH environment variable.

If the environment variable is not set or set to an empty value, the compiler driver chooses an appropriate value based on the standard installation. If the installation has not been modified, this will result in the driver being able to locate the required subprograms.

Other prefixes specified with the -B command line option take precedence over the user- or driver-defined value of the variable.

Under normal circumstances it is best to leave this value undefined and let the driver locate subprograms itself.

XC16_LIBRARY_
PATH

PIC30_LIBRARY_
PATH

This variable’s value is a semicolon-separated list of directories, much like PATH. This variable specifies a list of directories to be passed to the linker. The driver’s default evaluation of this variable is:

<install-path>\lib; <install-path>\support\gld.

XC16_OMF

PIC30_OMF

Specifies the OMF (Object Module Format) to be used by the compiler. By default, the tools create ELF object files. If the environment variable has the value coff, the tools will create COFF object files.
TMPDIRIf the variable is set, it specifies the directory to use for temporary files. The compiler uses temporary files to hold the output of one stage of compilation that is to be used as input to the next stage: for example, the output of the preprocessor, which is the input to the compiler proper.