File Options > Advanced tab

(Builder: Project > Options for Selected Files... > Advanced tab)

Set by the target Build File, the options on this tab are usually already calculated for you by the Builder. Changing these options will have unspecified results as they are not valid in all configurations. All of these options are only set in projects of type program or nobuild. This ensures consistency across all files in a single program. In addition, many of these options apply to the link phase and are ignored if set on individual files within a program.

Processor (drop-down list)

Sets the processor family for the program being built. This selection affects the behavior of the Builder in many ways. Not all options are relevant for all processor families. In particular a sub-window in the CPU Options dialog is provided for each processor family. Only the options in the sub-window corresponding to the selected processor take effect.

When set to C Translator, the source code is translated into C by one of the C translators. The native C compiler is then invoked on the generated C code.

Compilation (drop-down list)

Compilation specifies the output format of the compiler itself.

C Source

The source code is translated into C by one of the C translators. The native C compiler is then invoked on the generated C code.

Assembly

The source file produces an assembly language file. The assembler will then run on that file to produce an object code. Equivalent to the -noobj command line option.

Object

The source file directly produces an object code file without producing an assembly language file. Currently, this is only supported on M16, 68000 and SH processors. Equivalent to the -obj command line option.

Alignment (drop-down list)

Alignment sets the maximum data alignment for the target. This is rarely used. Equivalent to the -align= machine specific option.

Structure packing (drop-down list)

Specifies the maximum alignment of fields in a structure. This feature is NOT supported for all processors.

Toolchain (drop-down list)

This feature sets the toolchain: the assembler, linker, libraries and utilities. The Builder and compilers are adapted to work with assemblers and linkers from various vendors. This field should not be set or changed at any time.

Object format (drop-down list)

BSD

Used by SunOS and some Gnu compilers. Equivalent to the -bsd command line option.

COFF

The Common Object File Format is used by UNIX System V.3 and older embedded environments. Equivalent to the -coff command line option.

ELF

The Executable and Linking Format is used by UNIX System V.4 and the modern embedded environments. Equivalent to the -elf command line option.

Oasys 68k

A proprietary format generated by the Oasys 680x0 assembler and linker. Equivalent to the -oasys command line option.

Output mode (drop-down list)

This sets the file format produced by the linker. Many environments only support one binary format. The following are descriptions of these output formats:

BSD

Used by SunOS and some Gnu compilers. Equivalent to the -bsd command line option.

COFF

The Common Object File Format is used by UNIX System V.3 and older embedded environments. Equivalent to the -coff command line option.

ELF

The Executable and Linking Format is used by UNIX System V.4 and the modern embedded environments. Equivalent to the -elf command line option.

S-Records

Produces a COFF or ELF file, translates into an S-Record file, and keeps both files. Equivalent to the -srec linker option.

Oasys 68k

A proprietary format generated by the Oasys 680x0 assembler and linker. Equivalent to the -oasys command line option.

Memory

Memory image format. Equivalent to the -memory command line option.

HP/OMF

Obsolete.

Only S-Records

Produces a COFF or ELF file, translates into an S-Record file, and then deletes the COFF or ELF file. Equivalent to the -sreconly linker option.

Oasys Objects and S-Records

Produces S-Record output directly using Oasys object format instead of COFF or ELF. Equivalent to the -srecoasys command line option.

Tek Hexadecimal

Tektronix extended hex format (680x0 only).

Exormacs

Obsolete.

IEEE-695

Portable format used by 680x0 emulators. Equivalent to the -ieee695 command line option.

Target OS (drop-down list)

Target OS sets the type of operating system on the target system you are building.

Temp Directory

Stores temporary files in the directory specified by dir instead of /tmp. This is useful if /tmp is on a small file system that may run out of disk space during compiles with inlining or template processing. This is also set with the TMPDIR environment variable. For example:

setenv TMPDIR /usr/tmp

Equivalent to the -tmp= C compiler option.

Start address:

Specifies where the program starts. This is passed to the linker and is normally a symbol name, so it should be written so that the linker recognizes it (that is, you may need to include an extra underscore ( _ ). This is equivalent to the -entry= linker option.

Start/End file dir

Contains startup files, such as crt0.o. Equivalent to the -YS command line option.

Start files

A list of files linked at the beginning of your program. For example: mcrt0.o, crt10.o. The files listed replace crt0.o. If you just want to suppress the linker from including the default startup code from the library into your program, you can type a '-' in this field. It will prevent the builder from linking in any startup code.

End files

A list of files linked at the end of your program. On systems using it, crtn.o is replaced by these files.

Green Hills libraries

Replaces the default Green Hills Libraries normally linked in with those listed here. These libraries are normally chosen automatically.

System libraries

Replaces the default System Libraries normally linked in with those listed here. These libraries are normally chosen automatically.

Remote

This field is only used in a default.bld file or a program build file. When the Builder window is invoked for a build file with this field set, the value specified automatically loads into the text field next to the Remote button in the Builder window.

Small printf without %e%f%g

Uses libnoflt.a, a smaller version of printf, that does not handle floating point numbers. The I/O routines within this library do not contain instructions for floating point support and therefore are much smaller.

Show headers

Displays a list of files opened by a #include directive. Equivalent to the -H command line option.

Source lines in asm File

Outputs lines from original source files into the assembly language output of the compiler as comments. This option has no effect with direct binary code generation. This option interferes with some optimizations, including loop optimization which produces inferior code in some circumstances. Equivalent to the -passsource command line option.

Show Versions

Displays the copyright banner and version number of the compiler, assembler, and linker as they are invoked. By default, the version and copyright banner is suppressed. Equivalent to the -V command line option.

Put versions

Places the compiler's version into the comment section of each object module. Currently, this is only available on some UNIX systems. Equivalent to the -Qy command line option.

Output dual debug formats

Output both Green Hills proprietary information as well as Dwarf.

Dynamic download project

For the INTEGRITY RTOS, build project for dynamic download.

Keep temp files

Does not delete temporary files after they are used.

Link without default startfiles or libraries

Prevents the Builder from adding any of the following to the link command:

The option still specifies libraries and library directories using the fields in the File Options dialog box, General tab. A linker directive file still adds to the link command line with the Oasys 68000 linker, l68. However, it does not add any startup files or any libraries and passes fewer options to the linker command line. (This is equivalent to the -nostdlib command line option.) An alternative is to override the default for individual fields listed above by placing a dash "-" in the field.

Languages Used:

These check boxes tell the Builder which languages are used that it does not recognize, such as those compiled to object files that have no source. The Builder uses this field to select libraries during the link phase. This is equivalent to the -language= linker option which ensures that the driver is aware of all languages in use. It is specified once for each language used other than C.


Previous

Next



Copyright © 1999, Green Hills Software. All rights reserved.