The APU C Compiler and APU C++ Compiler pages display the build configuration settings that apply to the compiler tool.
| Option | Description |
|---|---|
| Command | Command that will be used by Vision Extension Package to run the
compiler. Default: ${apu_compiler} |
| All options | Expanded command line options the compiler will be called with. Shows actual values of variables and options according to Command line pattern. Default (application project):-DCGV_FORCE_INLINE -DACF_KERNEL_IMPLEMENTATION -I"<project_dir>/APU_kernels" -I"<VSDK_dir>/include" -I"<VSDK_dir>/kernels/apu" -I"<VSDK_dir>/libs/apex/common/include" -I"<VSDK_dir>/libs/apex/icp/include" -I"<VSDK_dir>/libs/apex/acf_offline/include" -I"<VSDK_dir>/libs/apex/drivers/user/include" -I"<VSDK_dir>/libs/apex/register_maps/include" -I"<VSDK_dir>/libs/apex/acf/include" -I"<VSDK_dir>/libs/apex/acf_target/include" -I"<VSDK_dir>/libs/utils/common/include" -include"<VSDK_dir>/libs/apex/acf_offline/include/apu2_kernel_port.h" -include"<VSDK_dir>/libs/apex/acf_target/include/acf_autokernel_inc.h" -O3 -g3 -Wall -c -fmessage-length=0 -target apex Default (library project): -I"<project_dir>/include" -O0 -g3 -Wall -c -fmessage-length=0 -target apex |
| Command line pattern | Command line to call the compiler. Default: ${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} |
The Dialect page allows you to configure the compiler to verify your code against the specific standard of C or C++ language when compiling your application or library project.
The following table describes the options available on the Dialect page.
| Option | Description |
|---|---|
| Language standard | Standard of C (for APU C Compiler) and C++ (for APU C++ Compiler) language.
The compiler can accept several base standards, such as ‘c90’ or ‘c++98’. When a base standard is specified, the compiler accepts all programs following that standard plus those using GNU extensions that do not contradict it. Following options are available for APU C Compiler:
|
| Other dialect flag | Additional command line options. Allows you to specify dialect flags not available on this page. By default, this field is empty. |
The Preprocessor page allows you to configure the C or C++ preprocessor, which is run on each source file before actual compilation.
The following table describes the options available on the Preprocessor page.
| Option | Description |
|---|---|
| Do not search system directories (-nostdinc) | Skip standard system locations of header files. Select the check box if you do not want the compiler to search the system locations for header files. Only the locations specified on the Includes page will be used to search for the header files. If this check box is not selected, the compiler performs a full search that includes the system locations. By default, this check box is cleared. |
| Preprocess only (-E) | Select the check box if you only want to preprocess source files without running
the compiler. Nothing is done except preprocessing. Attention: Selecting
this will cause a linker error when you build the project. This is because linker
expects an object file to be available. However, because no compilation is done when
this option is enabled, compiler does not create an object file.
By default,
this check box is cleared. |
| Defined symbols (-D) | Predefine name as a macro. Allows you to specify the substitution strings that the compiler applies to all the assembly-language modules in the build target. Enter just the string portion of a substitution string. The Vision Extension Package prepends the -D token to each string that you enter. For example, entering opt1 x produces this result on the command line: -Dopt1 x. This option is similar to the #define directive, but applies to all assembly-language modules in a build target. Note: Added names are processed in the top-down
order.
Default for application project: CGV_FORCE_INLINE ACF_KERNEL_IMPLEMENTATION Default for library project: this field is empty. |
| Undefined symbols (-U) | Remove definition for a previously defined name. Allows you to cancel any previous definition of name, either built-in or provided with a -D option. By default this list is empty. |
The Includes page allows you to specify locations where the compiler should look for the included files during the compilation process.
The following table describes the options available on the Includes page.
| Option | Description |
|---|---|
| Include paths (-I) | This option adds the directory to the list of directories to be searched for
header files. Directories named by -I are searched before the standard system
include directories. If the directory is a standard system include directory, the
option is ignored to ensure that the default search order for system directories and
the special treatment of system headers are not defeated. This option changes the build target's search order of access paths to start with the system paths list. The compiler can search #include files in several different ways. You can also set the search order as follows:
Default for application project: "${ProjDirPath}/APU_kernels" "${VSDK_APU_1.3.0_PATH}/include" "${VSDK_APU_1.3.0_PATH}/kernels/apu" "${VSDK_APU_1.3.0_PATH}/libs/apex/common/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/icp/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/acf_offline/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/drivers/user/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/register_maps/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/acf/include" "${VSDK_APU_1.3.0_PATH}/libs/apex/acf_target/include" "${VSDK_APU_1.3.0_PATH}/libs/utils/common/include" Default for library project: "${ProjDirPath}/include" |
| Include files (-include) | Use this option to specify the include file search path. Process file as if
#include "file" appeared as the first line of the primary source
file. However, the first directory searched for file is the preprocessor's working
directory instead of the directory containing the main source file. If not found
there, it is searched for in the remainder of the #include "..."
search chain as normal. If multiple -include options are given, the files are included in the order they appear on the command line. By default there are the following files:"${VSDK_APU_1.3.0_PATH}/libs/apex/acf_offline/include/apu2_kernel_port.h "${VSDK_APU_1.3.0_PATH}/libs/apex/acf_target/include/acf_autokernel_inc.h |
The Optimization page allows you to configure optimizations run by the compiler during the compilation of your application or library project. Compiler optimization can be applied in either global or non-global optimization mode. You can apply global optimization at the end of the development cycle, after compiling and optimizing all source files individually or in groups.
The following table describes the options available on the Optimization page.
| Option | Description |
|---|---|
| Optimization level | Specify the optimizations that you want the C/C++ compiler to apply to the
generated object code:
Default for application project: Optimize all, for speed (-O3) Default for library project: None (-O0) |
| Other optimization flags | Additional command line options. Allows you to specify optimization flags not available on this page. By default, this field is empty. |
The Debugging page allows you to configure debugging parameters used by the compiler during the compilation of your project. The specified parameters affect the debugging information that will be available in the resulting build target.
The following table describes the options available on the Debugging page.
| Option | Description |
|---|---|
| Debug Level | Specify the debug levels:
Default: Maximum (-g3) |
| Other debugging flags | Additional command line options. Allows you to specify debugging flags not available on this page. By default, this field is empty. |
The Warnings page allows you to configure warning parameters used by the compiler to display warning messages during the compilation of your project. These parameters allow you to specify what types of warning messages your would like to see in the console when compiling your project.
The following table describes the options available on the Warnings page.
| Option | Description |
|---|---|
| Check syntax only
(-fsyntax-only) |
Check the code for syntax errors, but do not do anything beyond that. By default, this check box is cleared. |
| Pedantic (-pedantic) | Output warnings demanded by strict ISO C and ISO C++. Reject all programs that use forbidden extensions, and some other programs that do not follow ISO C and ISO C++. For ISO C, follows the version of the ISO C standard specified by any -std option used. By default, this check box is cleared. |
| Pedantic warnings as errors (- pedantic-errors) | Like pedantic, except that errors are produced rather than warnings. By default, this field is cleared. |
| Inhibit all warnings (-w) | Enable all the warnings about constructions that some users consider
questionable, and that are easy to avoid (or modify to prevent the warning), even in
conjunction with macros. By default, this field is cleared. |
| All warnings (-Wall) | Enable all the warnings about constructions that some users consider
questionable, and that are easy to avoid (or modify to prevent the warning), even in
conjunction with macros. This also enables some language-specific warnings. By default, this check box is selected. |
| Extra warnings (-Wextra) | Enable some extra warning flags that are not enabled by -Wall. By default, this check box is cleared. |
| Warnings as errors
(-Werror) |
Make all warnings into hard errors. Source code which triggers warnings will be
rejected. The specifier for a warning is appended. By default, this check box is cleared. |
| Implicit conversions warnings (-Wconversion) | Warn for implicit conversions that may alter a value. This includes conversions between real and integer, like abs (x) when x is double; conversions between signed and unsigned, like unsigned ui = -1; and conversions to smaller types, like sqrtf (M_PI). Do not warn for explicit casts like abs ((int) x) and ui = (unsigned) -1, or if the value is not changed by the conversion like in abs (2.0). Warnings about conversions between signed and unsigned integers can be disabled by using -Wno-sign-conversion. By default, this check box is cleared. |
The Miscellaneous page allows you to configure various auxiliary compiler options not otherwise available on other pages in the project properties.
The following table describes the options available on the Miscellaneous page.
| Option | Description |
|---|---|
| Other flags | Additional command line options. Allows you to specify command line options supported by C or C++ compiler and not otherwise available on this page. Default: -c -fmessage-length=0. |
| Verbose (-v) | Verbose compilation. Select this check box to enable verbose output during the compilation and make the compiler display detailed information about the exact sequence of commands used to compile your project. Selecting this check box enables the specified compilers to output progress details, error and warning messages, and informational messages. By default, this check box is cleared. Vision Extension Package displays only the error messages. Warning messages and other informational messages will not be output to the console. |
| Support ANSI programs (-ansi) | Select this check box if you want the compiler to operate in strict ANSI mode. In
this mode, the compiler strictly applies the rules of the ANSI/ISO specification to
all input files. Note: This option is only available for APU C Compiler.
This setting is equivalent to specifying the -ansi command-line option. The compiler issues a warning for each ANSI/ISO extension it finds. By default, this check box is cleared. The compiler does verify the code to obey the rules of ANSI standard. |