Compilation Switch List

This file contains alphabetical list of the valid Compilation switches. An overview of switches can be found in Programming with Apex.

ADA_LINK_MODE
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:

Range:
static, dynamic, dynamic_or_static, default

Specifies the link mode for Ada main programs in the view. This switch is valid for those targets that support shared libraries (Sun Solaris, HP-PA HP-UX, Digital UNIX, SGI Irix, IBM RS/6000 AIX, Linux).

In the view of where the executable is to be linked, this switch determines which set of object files in the closure views are to be used. Each view contains object files for the units that are compiled, and potentially a shared library constructed out of the object files (governed by the CREATE_SHARED_LIBRARY switch in each view). The ADA_LINK_MODE switch determines whether the object files or the shared libraries participate in the link.

If ADA_LINK_MODE has a value of "static", linking is performed without shared libraries. In each view, only the object files are used in the link process and any existing shared libraries are ignored. [Note that when linking in this mode, object files that were compiled with CREATE_SHARED_LIBRARY set to True will contain position-independent code. Although these are fully compatible with non position-independent object files, they may be less efficient execution-wise.]

If ADA_LINK_MODE is set to "dynamic", the linker uses shared libraries from views that specify one (if CREATE_SHARED_LIBRARY is set to True) and object files from views that don't. In the case where a view is encountered with CREATE_SHARED_LIBRARY set to TRUE and a shared library doesn't exist, the prelinker will create the shared library using the currently existing object files in the view.

If the value of ADA_LINK_MODE is "dynamic_or_static", the LINK_CONTRIBUTION_DEFAULT_MODE switch of each individual view in the closure is used to determine what files from the individual view to link with.

An ADA_LINK_MODE value of "default", or no switch value at all, is the same as specifying a value of "dynamic_or_static".

The default link behavior, when the ADA_LINK_MODE and the individual LINK_CONTRIBUTION_DEFAULT_MODE view switches are missing, is to build a dynamically linked executable, using shared libraries from views which provide one, and object files from views which don't.

On Solaris, specifying ADA_LINK_MODE = "static", may still result in a dynamically linked executable being built. Some system libraries needed for linkage appear only in their shared, not archived, form. It is therefore necessary to build a dynamically linked executable if these libraries are referenced. Although the executable is dynamic, no shared libraries from within the Ada closure will be used.

Additional information on this switch can be found in the Ada Compiler Reference.

ALTERNATE_KEY
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
pathname

The alternate key in an Ada view that is used to enable linking C/C++ in the closure.

APEX_CLEAN_GOAL
Area:
Compilation
Switch Kind:
Session
Type:
String
Option:
Yes
Default Value:
Archived
Range:
Archived, Source, Installed, Coded

The state to which the units will be cleaned. All compilation artifacts associated with higher states are deleted.

APEX_CLOSURE
Area:
Compilation
Switch Kind:
Session
Type:
String
Option:
Yes
Default Value:

Range:
" ", Installed, Coded, Linked

Used to determine additional units to be analyzed. The empty string (" ") is equivalent to specifying Installed. If the APEX_COMPILE_CONFIGURATION switch is specified, the closure set is computed from units in the views of the configuration, otherwise the set is computed from units in the imported views.

APEX_COMPILE_CONFIGURATION
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Compile all views in the configuration.

APEX_DETECT_ DEADLOCK
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

If a deadlock is detected among the tasks declared in your program, terminate program and print the state of each task. The pragma Main options take precedence over this switch.

APEX_FIRST_ERROR
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Continue past the first unit with errors. If True, command will stop after the first unit containing an error.

APEX_HEAP_SIZE
Area:
Compilation - Ada only
Switch Kind:
Session
Type:
Integer
Option:
Yes
Default Value:
2147483647
Range:
0 - Integer'Last

Heap size to use when running programs. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_INCREMENTAL
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Use the platform incremental linker, if it exists.

APEX_INTO
Area:
Compilation - Ada only
Switch Kind:
Session
Type:
String
Option:
Yes
Default Value:

Range:
" ",view or directory in view

The directory into which the files will be parsed. Must name a view or a directory in a view. If blank, the current directory is used. This switch is only applicable to Ada views.

APEX_NEW_ RELEASE
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Recompiles the units in each view, converting to new DIANA, CG attribute, and program library formats

APEX_ NONBLOCKING_IO
Area:
Compilation - Ada only
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

When a task issues an I/O request, do not wait for the I/O to complete. When True, the task is blocked until the I/O completes, but other tasks in the program may run. When False, the entire program (all tasks) are blocked while any task is waiting for an I/O request to complete. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_POSIX_COMPLIANT
Area:
Compilation - Ada only
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
True
Range:
True, False

Use the POSIX I/O behavior. When False,uses traditional I/O behavior allowing users to use some of the UNIX signals that POSIX forbids. Pragma Main can override this switch. See the Ada Compiler Reference Guide for more information. This switch is only applicable to Ada views.

APEX_PREEMPTIVE_SCHEDULING
Area:
Compilation
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Allow tasks to be preempted. Pragma Main can override this switch. See the Compiler Reference for more information.

This switch is only applicable to Ada views.

APEX_SIGNAL_STACK_SIZE
Area:
Compilation - Ada only
Switch Kind:
Session
Type:
Integer
Option:
Yes
Default Value:
65,536, 2,097,152 when debugging
Range:
2048 - Integer'Last

Size in bytes to use for the signal stack. This stack contains UNIX signals and special type displays (used in debugging). For more information on special type displays, please see the Using the Apex Debugger. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_STACK_SIZE
Area:
Runtime - Ada only
Switch Kind:
Session
Type:
Integer
Option:
Yes
Default Value:
2097152
Range:
2048 - Integer'Last

Size in bytes of the execution stack for the main program or root task. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_TASK_PRIORITY_DEFAULT
Area:
Compilation
Switch Kind:
Session
Type:
Integer
Option:
Yes
Default Value:
127
Range:
0 - 255

Default priority for tasks when not specified by the Priority pragma. Priority 255 is this highest priority. This switch is only applicable to Ada views.

APEX_TASK_STACK_SIZE_DEFAULT
Area:
Compilation
Switch Kind:
Session
Type:
Integer
Option:
Yes
Default Value:
65536
Range:
2048 - Integer'Last

Default size in bytes to use for the task execution stack when not specified by a representation clause. Pragma Main can override this switch. See the Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_TIME_SLICE
Area:
Compilation
Switch Kind:
Session
Type:
String
Option:
Yes
Default Value:
0.0
Range:
Duration'Range

Duration in seconds for an execution time slice. Time slicing is only done if APEX_PREEMPTIVE_SCHEDULING is True and APEX_TIME_SLICE is not 0.0. Pragma Main can override this switch. See the Ada Compiler Reference for more information. This switch is only applicable to Ada views.

APEX_UNCHECKED_PRIORITIES
Area:
Runtime - Ada only
Switch Kind:
Session
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Linux only supports fixed priorities (i.e. priorities not adjusted by the OS as part of fair scheduling) in tasks implemented over threads using real-time scheduling policies (SCHED_FIFO, SCHED_RR). Real-time scheduling policies require root privileges, which means that Apex Ada applications using priorities cannot be run without root privileges.

Setting APEX_UNCHECKED_PRIORITIES to True allows such applications to be run without root privileges. This is done by having the runtime simply ignore EPERM errors returned by the OS when attempting to set real-time scheduling policies or priorities. The application will run as though no priorities had been specified.

This switch is only applicable to Linux native Ada views.

APP_DIRECTIVES
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:

Range:
filename

Name of the file that gets included whenever the preprocessor is invoked. The preprocessor is described in detail in the Ada Compiler Reference.

BUILD_KEY
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
pathname

Specifies the name of the build key of the view and determines all of the build management characteristics of the view. Usually this value is derived from the view's model. For more information, see Programming with Apex. This switch is only applicable to C++ views.

BUILD_POLICY
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:

Default Value:
object_files
Range:
see the Ada Compiler Reference

Specifies the meaning of build operations that are applied to the view. This switch is described in detail in the Ada Compiler Reference.

C_LINK_OPTIONS
Area:
Compilation - C only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the linker whenever a C main program is linked. This switch is only applicable to C views.

C_LINK_PRE_OPTIONS
Area:
Compilation - C only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the linker whenever a C main program is linked. This switch is only applicable to C/C++ views.

C_OPTIONS
Area:
Compilation - C only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the C compiler when a C source file is compiled. This switch is only applicable to C/C++ views.

C_PRE_OPTIONS
Area:
Compilation - C only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the C compiler when a C source file is compiled. This switch is only applicable to C/C++ views.

CLOSURE_COMPILATION_POLICY
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
compile_all
Range
compile_all, compile_none

When building a library or linking a main program, specifies the policy for automatic recompilation of the closure. This switch is only applicable to C/C++ views.

CODER_OPTIONS
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
""
Range:
Dependent on target architecture

This switch provides a mechanism for passing command line options to the code generator. These are of the form:

-INFO Directive:Value

The possible Directive and Value values vary from target to target.

Directive: ARCHITECTURE:<model>
Target: PowerPC
Default: RS6000_PPC32
Range: RS6000_PPC32, RS6000, PPC32, PPC601, PPC603, PPC604, PPC860

Specifies the instruction set to be used for Apex compilations. Note that object files compiled for a specific architecture will be link-time compatible with common instruction set object modules.
Architecture
Description
RS6000_PPC32
Designates the common instruction set shared between RS6000 and 32-bit PowerPC models. This is the default if the CODER_OPTIONS switch fails to specify a -INFO ARCHITECTURE directive.
PPC32
Designates the instruction set common to all 32-bit PowerPC models.
RS6000, PPC601, PPC603, PPC604, PPC860
Designate specific architectures.
PPC603/PPC604
Currently identical to PPC32, although certain instructions and operands appearing in source machine code statements may be flagged with warnings if not supported by the architecture specified.
PPC601
Supports an MQ register and some POWER (RS6000) obsolete instructions.
PPC860
Basically PPC32 but without floating point hardware support (implemented using software).

RS6000_PPC32 (common instruction set model) provides execution portability. Code compiled under this mode will run on all RS6000 and PowerPC models. Disadvantages are that some operations will be performed less efficiently or require runtime library intervention.

Specifying a particular architecture, or PPC32, allows the compiler to optimize its code generation strategy for for one particular machine or class of architectures. Running executables on hardware other than that for which they were compiled for may result in unexpected failures, in the form of illegal instructions, or performance degradation due to OS emulation of such instructions.

Directive: CODER_OPTION_EXTENSION:<extension>
Target: DEC Alpha
Default: " "
Range: A comma-separated list (no spaces) of BWX, CIX, MAX

Specifies one or more extension instruction sets to be used.
Extension
Description
BWX
Enable use of byte/word extension instruction set.

When enabled, the code generator will emit byte/word extension instructions, rather than using sequences of unaligned long word instructions for byte and word accesses.

CIX
Enable use of count extension instruction set.

When enabled, the code generator will emit count extension instructions. Currently, the only CIX instructions that are use by the code generator are FTOIS, and FTOIT.

MAX
Support for multi-media extension instruction set.

Currently, the Alpha code generator does not make use of any MAX instructions. These instructions are only available as machine_code insertions. The MAX option does not need to be passed in order to use MAX instructions in machine_code.

Example: "-INFO CODER_OPTION_EXTENSION:BWX,CIX"

Enables both BWX and CIX extensions.

COMPILER_KEY
Area:
Compilation
Switch Kind:
Context
Type:
Pathname
Option:
No
Default Value:
Installation dependent
Range:
Compiler pathname

The compiler to use, which provides for platform-specific semantic checking and code generation.

Note: Set by installation. Do not change.

COMPILER_TOOLS_PATH
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
Set by model being used
Range:
Compiler pathname

The COMPILER_TOOLS_PATH switch is used by the Ada compiler and other Apex tools to locate target-specific versions of each tools. It can be specified on the command line as -compiler_tools_path <list of filesystem directory pathnames> the Policy/Switches file as COMPILER_TOOLS_PATH: <list of filesystem directory pathnames>. The list of pathnames must be separated by ":"s (same conventions as $PATH.)

The COMPILER_TOOLS_PATH switch is specified in the Ada model. It is copied from the model into the Ada view a view creation and any time an apex remodel -update or -replace_switches command is invoked on the Ada view.

CONFIGURATION
Area:
Compilation, Rexec
Switch Kind:
Context
Type:
Pathname
Option:
Yes
Default Value:
" "
Range:
Configuration pathname

Configuration to use during a link to compute the closure of a main program. If blank, the imports are used. Can be used to specify units to compile beyond those found in the code closure in the Compiler Switches imported views.

For Apex cross, a linker configuration file is always required. The components of the board configuration that are linked with a program are referenced by the linker configuration. The default value of this switch in Apex cross is <view>/Link.cfg.

CPP_COMPILE_TEMPLATE_INSTANTIATIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
True
Range:

This switch can be true only when CPP_COMPILER_KIND is "apex" or "SPARCompiler-4". In all other cases this switch needs to be set to false (explicitly) - especially while using a native compiler (other than SPARCompiler-4) or a different compiler for building under Apex C++. This switch tells Apex whether to compile template instantiations or not (this is translated into appropriate RCC option while using RCC).

CPP_COMPILER_HOME
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
pathname

Specifies the pathname to the C/C++ compiler that is to be used in the view. This switch is only applicable to C++ views.

CPP_COMPILER_VARIANT
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Specifies the variant that is to be used. This switch is only applicable to C++ views.

CPP_LIBRARY_INCLUDE_TEMPLATE_INSTANTIATIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
True
Range:

This switch can be true only when CPP_COMPILER_KIND is "apex" or "SPARCompiler-4". In all other cases this switch needs to be set to false (explicitly) - especially while using a native compiler (other than SPARCompiler-4) or a different compiler for building under Apex C++. This switch tells Apex whether to include the template instantiations in the resulting CPP LIBRARY or not (this is translated into appropriate RCC option while using RCC).

CPP_LINK_OPTIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the linker whenever a C++ main program is linked. This switch is only applicable to C++ views.

CPP_LINK_PRE_OPTIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the linker whenever a C++ main program is linked. This switch is only applicable to C++ views.

CPP_OPTIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the C++ compiler when a C++ source file is compiled. This switch is only applicable to C++ views.

CPP_PRE_OPTIONS
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Options that are passed to the C++ compiler when a C++ source file is compiled. This switch is only applicable to C++ views.

CPP_PTREPOSITORY_ARTIFACT_EXTS
Area:
Compilation - C++only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

The extensions of artifacts within the view's repository which should be removed when the view is cleaned. Values should begin with a period and be separated by spaces. This value need not be set for either apex or SPARCompiler-4 compiler kinds.

CPP_PTREPOSITORY_ARTIFACT_NAMES
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

The names of artifacts within the view's repository which should be removed when the view is cleaned. This value need not be set for either apex or SPARCompiler compiler kinds.

CPP_PTREPOSITORY_MODE
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
local
Range:
local, global

Specifies the template repository mode for the view. The possible values are: local, and global.

CPP_PTREPOSITORY_NAME
Area:
Compilation - C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
see the C/C++ Compiler Reference

Specifies the name of the template repository used by the view. If the value of CPP_PTREPOSITORY_MODE is local then this should name a relative to the current view, otherwise this should be an absolute pathname. If no value is set then .Rational/Compilation is used. This value is passed to the target compiler as the value of -ptr option. This value need not be set for either apex or SPARCompiler-4 compiler kinds.

CREATE_ARCHIVED_LIBRARY
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
true
Range:
True, False

Determines whether or not an archived library will be created when a library is specified by the build policy. Note that an archive library is only created if this option is set and the build policy specifies that a library is to be created.

CREATE_SHARED_LIBRARY
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
false
Range:
True, False

Determines whether or not a shared library will be created when a library is specified by the build policy. Note that a shared library is only created if this option is set and the build policy specifies that a library is to be created. This switch is valid for those targets that support the creation of shared libraries (Sun Solaris, HP-PA HP-UX, Digital UNIX, SGI Irix, Linux).

DEBUGGING
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Specifies whether or not debugging is enabled in the view. It also controls the -g switch.

Note: This switch does not support C/C++ development.

DEFAULT_EXTENSIONS
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
.h .C
Range:
any file extensions

Use when an Apex object subclass has multiple extensions. (Currently, only the internal C++ development tools take advantage of this feature.)

ELABORATION_ORDER_LISTING
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Create a file containing a listing of the elaboration order of the units in its closure when a main program is linked. Elaboration-order listings can be created only for main programs. Elaboration-order files are stored in the .Rational/Compilation subdirectory of the view and have the name foo.2.elab_order (Ada) or foo.elab_order (C/C++) for a main unit named foo.2.ada (Ada) or foo.c (C/C++).

FLAG_INEVITABLE_EXCEPTIONS
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of any statically determinable situation that is certain to raise an exception when executed, such as an out-of-bounds assignment. This switch is overridden by the REJECT_INEVITABLE_EXCEPTIONS switch. When REJECT_INEVITABLE_EXCEPTIONS is True, this switch has no effect. If REJECT_INEVITABLE_EXCEPTIONS is False and this switch is:

FLAG_INEVITABLE_EXCEPTIONS is not intended to cover all cases where exceptions will be raised unconditionally. It will cover the cases where the compiler, front-end analysis phase, as part of its normal processing, detects that some exception will be raised.

IGNORE_INTERFACE_PRAGMAS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Cause pragma Interface to be ignored during semantic checking. This switch is only applicable to Ada views.

IGNORE_INVALID_REP_SPECS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of invalid or unsupported representation specifications. Representation specifications are considered invalid if they do not conform to the restrictions specified in "LRM Appendix F: Implementation-Dependent Characteristics." When True, this switch overrides the IGNORE_UNSUPPORTED_REP_SPECS switch. In this case, both invalid and unsupported representation specifications are reported with warning messages in the output window and are otherwise ignored. When False, the treatment of invalid representation specifications depends on the setting of the IGNORE_UNSUPPORTED_REP_SPECS switch. This switch is only applicable to Ada views.

IGNORE_REP_SPECS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Ignore representation specifications during semantic analysis. This switch is only applicable to Ada views.

IGNORE_UNSUPPORTED_REP_SPECS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of unsupported representation specifications. This switch is overridden by the IGNORE_INVALID_REP_SPECS switch. When IGNORE_INVALID_REP_SPECS is True, this switch has no effect. If IIGNORE_INVALID_REP_SPECS is False and this switch is:

For most purposes, the IGNORE_INVALID_REP_SPECS switch and the IGNORE_UNSUPPORTED_REP_SPECS switch should have the same value.

This switch is only applicable to Ada views.

INCREMENTAL_LINK
Area:
Compilation - AIX only
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

Attempt to use incremental features of the platform linker.

ILIBRARY_NAME
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
lib.a (C/C++)
libname.a (Ada)

Range:

For C/C++, specifies the name of the library that is created by appropriate build policies.

For Ada, this switch is meaningful only in the root view of a library in which the CREATE_ARCHIVED_LIBRARY switch is True. It specifies the name of the archive file. The default value is libname.a, where name is the simple name of the subsystem.

LINK_CLOSURE_LANGUAGES
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:
Ada, C++

Specifies the languages in the closure. Only needed when the closure contains languages other than that of the main program. If an API contains any C++ code, any main program linked against the API must include a call to the _cinit_ routine to invoke the C++ static initializers. If the value of this option contains the substring "C++", such a call will be added. The API Builder sets this switch to C++ if there are any C views included in the command line. The API Builder can't actually tell the difference between C views and C++ views; the switch can be deleted when it is not actually necessary.

LINK_CLOSURE_POLICY
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
combine
Range:
closure-policy

Specifies the way in which the closure of main programs is to be computed.

LINK_CONTRIBUTION_DEFAULT_MODE
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
dynamic_or_static
Range:
static, dynamic, dynamic_or_static

For C/C++, the link mode to use when the main program specified that the default for each closure view should be used. There are three link modes: static, dynamic, and dynamic_or_static.

For Ada, the LINK_CONTRIBUTION_DEFAULT_MODE switch provides view selective control over linking with/without shared libraries. This switch is only valid when the ADA_LINK_MODE switch in the Ada main program's view is "dynamic_or_static". A LINK_CONTRIBUTION_DEFAULT_MODE of "static" indicates that only object files are to be used from that view in a link process. Any shared library is to be ignored. If the LINK_CONTRIBUTION_DEFAULT_MODE is "dynamic", only the shared library in the view is to be used for a link. It is an error at link-time if the view cannot provide a shared library (that is, the view was compiled with CREATE_SHARED_LIBRARY set to False). A LINK_CONTRIBUTION_DEFAULT_MODE of "dynamic_or_static" specifies that the shared library is to be used if the view is a shared library view (CREATE_SHARED_LIBRARY= True) and the object files are to be used otherwise.

If the LINK_CONTRIBUTION_DEFAULT_MODE switch does not have a value in a view, the value defaults to "dynamic_or_static".

LINK_CONTRIBUTION_LIBRARY
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
"<view>/<view'switch(library_name)>"
Range:

The name of the library that is included in the contribution for static link modes.

LINK_CONTRIBUTION_OPTIONS
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:

Options that are included as part of the link contribution of the view whenever the view is part of the closure of a main program. These options follow the object file or library contribution of the view. This switch is only applicable to C++ views.

LINK_CONTRIBUTION_PRE_OPTIONS
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:

Options that are included as part of the link contribution of the view whenever the view is part of the closure of a main program. These options precede the object file or library contribution of the view.

LINK_CONTRIBUTION_SHARED_LIBRARY
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
"-L<view>-l<subsystem:t:r>"
Range:

The name of the library that is included in the contribution for dynamic link modes.

LINK_CONTRIBUTION_SHARED_OPTIONS
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:

Options that are included as part of the link contribution of the view for dynamic link modes whenever the view is part of the closure of a main program. These options follow the object file or library contribution of the view.

LINK_CONTRIBUTION_SHARED_PRE_OPTIONS
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:

Options that are included as part of the link contribution of the view for dynamic link modes whenever the view is part of the closure of a main program. These options precede the object file or library contribution of the view.

LINK_DEPENDENCIES
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
subsystem pathname; subsystem pathname;...

Specifies additional dependencies to be considered during linking. Dependencies are specified as a list of subsystem names separated by semicolons. The subsystems listed are treated as though import relationship existed from the current view to views of the listed subsystems. This allows representation of link dependencies that are not necessarily compilation dependencies (such as between two views that contain different external libraries but no source).

MAKE_OPTIONS
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:

Specifies options that are passed to make whenever it is invoked as part of the execution of a command. This switch is only applicable to C++ views.

NON_ADA_LINKAGE
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:

Range:

The arguments to pass to the target linker. This can be used to specify object files and archive libraries for non-Ada program units that will be included when an Ada main program is linked. This switch is only applicable to Ada views.

OMIT_PREPROCESSOR_DIRECTIVES
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True,False

Controls how the preprocessor handles direcvies when producing .ada files from .app files. If False, directives are converted to comments. If True, directives are deleted. This switch is only applicable to Ada views.

OPTIMIZATION_LEVEL
Area:
Compilation
Switch Kind:
Context
Type:
Integer
Option:
No
Default Value:
0
Range:
0 - 2

The optimization level to use for compiling. 0 is fastest compilation, 2 is best code. This switch also controls how much inlining is done: at level 0, no routines are inlined; at level 1, only those routines with an applied pragma Inline are candidates for inlining; at level 2, all routines declared within the current same compilation unit as the call site are candidates for inlining, in addition to those made available at level 1 with a pragma Inline.

Note that routines exported from a package spec can be inlined into client units only is a pragma Inline is used and that tail recursive calls are eliminated at level 2. Note also that candidate routines are not necessarily inlined. The OPTIMIZATION_OBJECTIVE switch controls when a candidate routine will actually be inlined.

OPTIMIZATION_OBJECTIVE
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
Time
Range:
Time, Space

The optimization objective, either Time or Space, to be used for any compilation unit that does not contain a pragma Optimize. Execution speed (Time) or code size (Space) are never completely ignored, but if this switch is set to Time, the compiler places greater emphasis on optimizing for speed, while the size of the code is of secondary importance. If it is set to Space, optimizations for speed that increase size are not done. If this switch is set to Space, the loop unrolling oefptimization (usually performed at level 2) is not performed,

This switch also controls when a candidate routine will actually be inlined. If Time is selected, the candidate routine is inlined if doing so may significantly reduce execution time. If Space is selected, the candidate routine is inlined only if doing so will not make the resulting code larger.

PROFILING
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
No
Default Value:
" "
Range:
" ", None, Prof, Gprof

The type of profiling to use when preparing the code. Set this switch to "" to turn off profiling. For native compilers, both Gprof and Prof are valid settings. For embedded compilers, only Prof is recognized.

REJECT_BAD_LRM_PRAGMAS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:

Control the handling of illegal Ada pragmas. When True, illegal Ada pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, illegal Ada pragmas are reported with warning messages in the output window and are otherwise ignored. This switch is only applicable to Ada views.

REJECT_BAD_RATIONAL_PRAGMAS
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of illegal Rational-defined pragmas. When True, illegal Rational pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, illegal Rational pragmas are reported with warning messages in the output window and are otherwise ignored.

REJECT_INEVITABLE_EXCEPTIONS
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of any statically determinable situation that is certain to raise an exception when executed, such as an out-of-bounds assignment. When True, this switch overrides the FLAG_INEVITABLE_EXCEPTIONS switch and inevitable exceptions are treated as errors, thus causing analysis of the units that contain them to fail.When False, the treatment of inevitable exceptions depends on the setting of the FLAG_INEVITABLE_EXCEPTIONS switch.

REJECT_INEVITABLE_EXCEPTIONS is not intended to cover all cases where exceptions will be raised unconditionally. It will cover the cases where the compiler, front-end analysis phase, as part of its normal processing, detects that some exception will be raised.

REJECT_PROMPTS
Area:
Compilation
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

The compiler will allow you to code units that contain [statement] prompts. REJECT_STATEMENT_PROMPTS has been superceded by REJECT_PROMPTS.

REJECT_SYNTAX_ERRORS
Area:
Compilation, Editors
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

The editor and compiler should make syntactic corrections to the programs. When the value is False, corrections are made. When True, corrections are not made; you must make them.

REJECT_UNDEFINED_PRAGMAS
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
Boolean
Option:
No
Default Value:
False
Range:
True, False

Control the handling of any pragmas not defined in the LRM or in the Ada Compiler Reference. When True, undefined pragmas are treated as errors, thus causing analysis of the units that contain them to fail. When False, undefined pragmas are reported with warning messages in the output window and are otherwise ignored. This switch is only applicable to Ada views.

RUNTIMES_ARCHIVE
Area:
Compilation, Rexec
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:

Range:
Runtime archive

This switch identifies the runtime archive to be used by the compiler. Normally, the compiler chooses one of four runtime archives based on the contents of the user's program. This switch allows the user to override the choice made by the compiler. By contrast, the RUNTIMES switch specifies the directory in which to look for the runtime archives. There are several archives but only the principal archive can be overriden using the RUNTIMES_ARCHIVE switch.

S_OPTIONS
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
" "
Range:

Options that are passed to the assembler whenever a user assembly (.s) file is processed.

SHARED_LIBRARY_NAME
Area:
Compilation
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
"lib<subsystem:t:r>.so"
Range:
Shared library name

Specifies the name of the shared library in the view.

SIENNA
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
Boolean
Option:
Yes
Default Value:
False
Range:
True, False

When a non-Apex compiler is being used to generate object files in a view (that is, when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. Sienna generation is enabled by this switch. The SIENNA_HOME and SIENNA_OPTIONS switches are also used in this situation.

SIENNA_HOME
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
""
Range:
pathname

When a non-Apex compiler is being used to generate object files in a view (i.e., when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. The SIENNA_HOME switch indicates the pathname of the Apex C++ compiler which will be invoked for Sienna generation. The SIENNA and SIENNA_OPTIONS switches are also used in this situation.

SIENNA_OPTIONS
Area:
Compilation - C/C++ only
Switch Kind:
Context
Type:
string
Option:
Yes
Default Value:
""
Range:
option list

When a non-Apex compiler is being used to generate object files in a view (i.e., when the CPP_COMPILER_VARIANT is not set to "apex" and the CPP_COMPILER_HOME names a non-Apex compiler), it is still possible to generate Sienna to assist in navigation. The SIENNA_OPTIONS switch designates the options which will be passed to the Apex C++ compiler for Sienna generation but which will not be passed to the non-Apex compiler when object files are generated The SIENNA and SIENNA_HOME switches are also used in this situation.

SUBSYSTEM_NAME
Area:
Compilation - Ada only
Switch Kind:
Context
Type:
String
Option:
Yes
Default Value:
Null String
Range:

The intent is that every subsystem in the known universe have a unique value for the SUBYSTEM_NAME switch. By convention, the subsystem switch has a value such as "asis.rational.com". The value of the switch should end in an Internet domain name. The portion of the name that precedes the domain name should be managed by a scheme prescribed by the named organization to guarantee uniqueness. See the Ada Compiler Reference for more details.


      

techpubs@rational.com

Copyright © 1993-2002, Rational Software Corporation. All rights reserved.