(Builder: Project > Options for Selected Files... > General tab)
The type drop-down list box allows you to select a file type. The Builder normally tries to determine the file type by looking at the file's extension. To change the file type, click in the type box, then select the desired type from the drop down list. For example, to change a build file from a program to a subproject, click the text program and select Subproject. Then click Apply. The build file will show the newly assigned type in the build file list. MULTI does not allow changing a file type to certain inappropriate file types. Below is an explanation of each file type:
Type (drop-down list) | |
---|---|
File Type | Meaning |
Default |
Determines file type by the file extension. |
Nobuild |
This type of build file is useful for containing other projects, such as programs and libraries. Building a project of this type will build all the projects contained within it. The file default.bld is normally set to this type, since it contains all the projects you will want to build. If a nobuild is contained within another build file (for example a program), then building the program will not build the contents of the nobuild. Instead, navigate into the nobuild and build it directly from there. |
Program |
Main build file for a project; generally contains source files and/or subprojects. The contents of this project are compiled and linked to form a program. |
Subproject |
A component of a project. Subprojects are useful for grouping source files together so that common build options can be set for the whole group. They generally contain one or more source files. Contained files are compiled and linked with the program or library which includes the subproject. Subprojects are also used to include the same group of files in two different projects. |
Select one |
Sometimes a program needs to work on different kinds of hardware platforms. Usually, most of the source files are identical, but there may be one or more assembly language routines that vary from processor to processor. Select one files allow the same .bld file to build the program by selecting one of several assembly language files. For information about setting up Select one files, see "Building platform-specific programs from the same source files". |
Single file library |
A single object file used as a library. |
Library |
A normal library, usually a build file (*.bld). A build file (*.bld) of this type contains source files and/or subprojects. When the library build file is built, the source files are compiled and linked to create the library. If the library build file is included in a program, then building the program also builds the library and links the library into the program. See
"To link to a library that gets built with your project" for more information. On the other hand, a library file (*.a, *.lib, *.dll, etc.) may also have this type. A library file with this type must be included in a program. Building the program will link the library file into the program. See
"To link in a compiled library" for more information. |
Shared library |
A shared library, usually a build file (*.bld). When building shared libraries, it is necessary to build a corresponding shared data library containing the modules of the shared library that exports initialized data. MULTI creates both types of libraries from the same build file. To create a build file with all of the desired library files, mark each shared data file by selecting the Includes shared data option in the File Options dialog box, General tab. If you set the file type to Shared library in the File Options dialog box, General tab, then files are built whether or not they are marked as including shared data. If the file type is set to Shared data library, then only the files marked as including shared data are built. |
Shared data library |
A shared data library, usually a build file. Refer to Shared library above for more information. |
Include file |
An include file. Adding include files to the project does not affect the actual include files included during a compile. See
"To define header files" for more information. |
Script |
Contains shell script commands. |
Documentation |
A documentation file. |
C source file |
Contains C source code. During a build, the file type is ignored and the Builder uses the file's extension to determine the correct compiler to bring up. For example, setting the file type to C Source File for a file named foo.f still brings up the Fortran compiler. |
Fortran source file |
Contains FORTRAN source code. |
Pascal source file |
Contains Pascal source code. |
C++ source file |
Contains C++ source code. |
Ada source file |
Contains Ada source code. |
Object file |
An object code file. The object file will be linked into the program or library containing it. |
Linker file |
A linker directives file. This file is passed to the linker. |
Assembly file |
Contains assembly language code. The assembly file will be assembled and linked into the program or library containing it. |
Integrate file |
Integrate configuration file used for the INTEGRITY RTOS. |
Custom |
A source file which needs custom build rules. To set the custom build rules from the Builder, choose Project > Options for Selected Files and choose the Configuration tab. Scroll the commands list down to Custom Processor, and set the appropriate command to build your custom source files. See
"File Options > Configuration tab" for more information. |
The Show drop-down list box sets which levels of information are displayed when building, but the Build Panel overrides this which precedes the selected level in the list. Any of these settings automatically set all the choices before it in the list. For example, setting Warnings automatically sets Progress and Errors
Uses the inherited setting. The default is Warnings.
Shows errors from the Builder, compiler, and linker.
Shows the steps being executed. For example:
compiling fly.c
linking bat
Shows warnings from the Builder, compiler, and linker. The MULTI default is to build without warnings.
Shows why actions occur. For example:
fly.c is being rebuilt because dependent source bat.h has been changed
xx.c is up to date
Displays the compiler driver command lines used by the builder to invoke the compiler, assembler, and linker as they are executed without invoking the tools. Equivalent to the -v and -# build-time options. For example:
/usr/green/ccomspc -X47 -I/tmp fly.c
/bin/ld /lib/crt0.o fly.o -o bat.exe
Shows warnings from the Debugger.
The debugging level drop-down list box sets the type of debugging information the compiler outputs.
Uses the inherited settings. The default is MULTI.
No debugging information should be generated.
Generates a stack frame in every routine to support stack traces. Without this option, some routines may not create stack frames, thereby reducing code size and improving performance. This option does not imply the -g option, but is implied by the -g option. This option also disables leaf procedure optimization. Equivalent to the -ga debugging option.
Generates source-level symbolic debugging information. The debugging information varies with the capabilities of the target system. Debugging languages other than C has severe limitations. Equivalent to the -g debugging option.
Generates extended debugging information for MULTI. This option is required for proper debugging of Ada, C, C++, FORTRAN, and Pascal code, since it provides information for handling language specific features. Equivalent to the -G debugging option.
Sets the level of profiling information output by the compiler.
Uses the inherited settings. The default is None.
No profiling information is generated.
Generates profiling calls. When your source files are compiled with this option, calls to routines for maintaining profiling information are embedded in each routine in the source file. This displays the percentage of time spent at each source line. Equivalent to the -p build-time option.
Determines the number of calls to each function. This option also sets Percent. Equivalent to the -p build-time option.
Generates code to collect extended profiling information to include call graph information. This option functions similarly to the -p option, except additional information collected produces a call graph report. This option also sets Functions and Percent. Equivalent to the -pg build-time option.
Coverage analysis generates basic block profiling calls. When your source files are compiled with this option, calls to routines for maintaining profiling information are embedded in each block of instructions generated by the compiler. This displays information about which source lines are actually used when your program executes. This is either turned On or Off. The default is Off. Equivalent to the -a build-time option.
Automatically places all text files under MULTI Version Control when added to the project list or edited. If a non-existent file is added to the project list, it is not placed under version control until edited and created.
Any extra options sent to the driver are listed here. The Development Guide for your system provides a description of driver options.
Enters any desired macro definitions for the preprocessor. However, do not put a -D in front of your entries. Equivalent to the -D C and C++ option. For example:
this defines xxx as 1 and yyy as 444.
Does not convert uppercase user-supplied variables to lowercase. By default, FORTRAN is not case sensitive and all FORTRAN names convert to lowercase. The compiler and library both assume this translation is performed. This option generally accesses variables defined in C as uppercase. However when using this option, all FORTRAN keywords must be lowercase, making the compiler incompatible with the ANSI FORTRAN-77 standard. Equivalent to the -U FORTRAN option. Placing a minus sign ( - ) prevents any symbols, such as __STDC__ and __ghs to be defined by the Builder or compiler. Note that there are two underscores ( _ ) before and after `STDC', and two underscores before `ghs'.
Specifies extra user libraries. Library names are either given with their full pathname, or a simple name, such as foo.
If you specify the file extension or full path of the library, the Builder looks for the library in the local directory rather than the directories specified by the Library Directories field.
If you enter a simple name, such as bat, the Builder looks for bat.a in the library directory paths set in the Library Directories field.
To indicate the library located in the local directory, use ./library, for example, ./bat.
This box only adds libraries. To replace system libraries or Green Hills libraries such as libansi, edit the Advanced tab of the File Options dialog box.
Normally, the Builder looks for source files in the same directory as the build file and in the directory from which the Builder is invoked. Additional directories specified here are searched for source files as well as include files. This is an editable field in the File Options dialog box, General tab.
Additional library search paths may be listed here.
By default, all files depend on the Builder file which includes them. For example, if a program fly.bld contains a source file bat.c, then bat.c depends on fly.bld. So, if fly.bld changes, then bat.c along with every other file is rebuilt. This is not always desired. When this option is set, the Builder does not consider changes in the selected file and does not rebuild other files when it changes.
By default, the Builder determines dependencies of source files on the files they include (such as header files). Therefore, changing an include file causes the recompilation of all the source files that include it.
When this option is set, the Builder ignores all dependencies on include files for the current file.
This field allows you to enter files which you do not want the selected file to be rebuilt because of changes in. For example, if you want the current file to depend on every header file except fly.h, then type fly.h in this box.