SYSTEM OPTIONS
Following is the list of system-level options supported by
'gexace' (of the form ),
and how they are translated to the vendor dependent Ace or
ECF files. "N/A" does not necessarily mean that the corresponding
Eiffel compiler does not support this facility, it could just
be that the facility is not parameterizable or is activated
from the command-line or from a separate tool rather than from
the Ace or ECF file. When an entry is marked "N/A" the option
will be silently ignored and nothing will be generated in the
Ace or ECF file for this option. Likewise when the name of an
option specified in an Xace file is not known by 'gexace'.
The DEFAULT section shows 'gexace' default value when this
option is not explicitely specified in the Xace file. It
can be different from the default value used by the various
Eiffel vendors in their Ace or ECF files.
For further details about each option, please refer to the
documentation provided with the Eiffel compilers.
-------------------------------------------------------------
NAME: address_expression
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable expressions of the form '$(s.to_c)' instead
of having to declare 'a' of type ANY, and then having to
assign 's.to_c' to 'a' and passing '$a'. Turn this option on
only if you have advanced knowledge of the garbage collector
insides, since using this syntax illegally can lead to bugs
very hard to trace.
ISE Ace:
true -> address_expression (yes)
false -> address_expression (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: arguments
VALUES:
DEFAULT: no default
DESCRIPTION: Arguments passed to the application when launched
from ISE EiffelStudio.
NOTE: There can be several of these options.
ISE Ace:
-> arguments ("")
ISE ECF:
N/A
-------------------------------------------------------------
NAME: array_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable array optimization in loops when the array
has been declared as local variable or formal argument.
NOTE: The option 'finalize' (finalization mode) should
be set in order for this option to have any effect.
ISE Ace:
true -> array_optimization (yes)
false -> array_optimization (no)
ISE ECF:
true ->
false ->
--
Not used in ECF.
-------------------------------------------------------------
NAME: assertion
VALUES: none | generate | require | supplier_precondition | ensure |
invariant | loop_invariant | loop_variant | check | all
DEFAULT: require
DESCRIPTION: Set default assertion level of the Eiffel system.
NOTE: There can be several of these options.
NOTE: The purpose of 'generate' is to generate the code of
the assertions in the generated code even if these assertions
are turned off. None of the currently supported Eiffel compilers
supports this option though.
ISE Ace:
none -> assertion (no)
generate -> assertion (no)
require -> assertion (require)
supplier_precondition -> N/A
ensure -> assertion (ensure)
invariant -> assertion (invariant)
loop_invariant -> assertion (loop)
loop_variant -> assertion (loop)
check -> assertion (check)
all -> assertion (all)
ISE ECF:
none ->
generate ->
require ->
supplier_precondition ->
ensure ->
invariant ->
loop_invariant ->
loop_variant ->
check ->
all ->
-------------------------------------------------------------
NAME: attached_by_default
VALUES: true | false
DEFAULT: false
DESCRIPTION: Are types attached by default when no attachment mark is specified?
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: automatic_backup
VALUES: true | false
DEFAULT: false
DESCRIPTION: Automatically generate a backup during recompilation.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: case_insensitive
VALUES: true | false
DEFAULT: true
DESCRIPTION: Enable Eiffel code to be case insensitive.
NOTE: This option was supported in SmartEiffel which was
case-sensitive by default. All other Eiffel compilers
follow the standard and are case-insensitive.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: check_generic_creation_constraint
VALUES: true | false
DEFAULT: true
DESCRIPTION: Check generic creation constraint.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: check_vape
VALUES: true | false
DEFAULT: true
DESCRIPTION: Report VAPE validity errors (ETL 2nd edition page 122).
ISE Ace:
true -> check_vape (yes)
false -> check_vape (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: clean
VALUES: true | false
DEFAULT: false
DESCRIPTION: Remove all generated C files, all generated object
files and all other temporary files generated during the
compilation process.
NOTE: None of the currently supported Eiffel compilers supports
this option.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: cls_compliant
VALUES: true | false
DEFAULT: true
DESCRIPTION: When compiling to the .NET framework. Is the generated
code CLS compliant?
ISE Ace:
true -> cls_compliant (yes)
false -> cls_compliant (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: console_application
VALUES: true | false
DEFAULT: true
DESCRIPTION: Under Windows, generate either a console or a windows
application.
NOTE: The implementation of Xace by Visual Eiffel defines the
default value to be false.
ISE Ace:
true -> console_application (yes)
false -> console_application (no)
ISE ECF:
true ->
false ->
--
The default is false in ECF.
-------------------------------------------------------------
NAME: create_keyword_extension
VALUES: true | false
DEFAULT: true
DESCRIPTION: Specify that 'create' should be considered as
a keyword (replacing the old form !!) and not as an
identifier.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: c_compiler_options
VALUES:
DEFAULT: no default
DESCRIPTION: Specifies options to be passed to the c compiler,
which is responsible for compiling the C code that has been
generated from the Eiffel system.
NOTE: There can be several of these options.
Makes only sense for Eiffel compilers, which generate c
code.
ISE Ace:
-> include_path: "some123/fake432/path567 "
ISE ECF:
->
-------------------------------------------------------------
NAME: dead_code_removal
VALUES: none | low_level | feature | class | all
DEFAULT: all
DESCRIPTION: Do not include dead code in the generated application.
'low_level' means that unreachable chuncks of code are not included,
'feature' means that features which are never called are not
included, and 'class' means the classes which are in the system
but which are never instanciated in the living code are not
included.
NOTE: The option 'finalize' (finalization mode) should be set
in order for 'feature', 'class' and 'all' (except its low_level
part in VE) to have any effect.
NOTE: There can be several of these options.
ISE Ace:
none -> dead_code_removal (no)
low_level -> dead_code_removal (no)
feature -> dead_code_removal (yes)
class -> dead_code_removal (no)
all -> dead_code_removal (yes)
--
If several occurrences of Ace options would need to be generated,
only one occurrence would actually be generated with value 'yes'
if there is at least one 'yes' and 'no' otherwise.
ISE ECF:
none ->
low_level ->
feature ->
class ->
all ->
--
If several occurrences of ECF options would need to be generated,
only one occurrence would actually be generated with value 'true'
if there is at least one 'true' and 'false' otherwise.
-------------------------------------------------------------
NAME: debug
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable debug instructions.
ISE Ace:
true -> debug (yes)
false -> debug (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: debug_tag
VALUES:
DEFAULT: no default
DESCRIPTION: Enable debug instructions with tag ''.
NOTE: There can be several of these options.
ISE Ace:
-> debug ("")
ISE ECF:
->
-------------------------------------------------------------
NAME: debugger
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether debug information should be
generated. Debug information was required to use the
debugger with Visual Eiffel.
NOTE: None of the currently supported Eiffel compilers
supports this option.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: document
VALUES:
DEFAULT: no default
DESCRIPTION: Specify in which directory the documentation
generated by ISE EiffelStudio should be put (when using the
Project/Generate documentation... menu). If no directory is
specified, the documentation will be generated at the same
level as the EIFGEN directory in a directory called
'Documentation'.
ISE Ace:
-> document ("")
ISE ECF:
N/A
-------------------------------------------------------------
NAME: dotnet_naming_convention
VALUES: true | false
DEFAULT: false
DESCRIPTION: When compiling to the .NET framework. Should the
Eiffel code use .NET naming convention when calling routines
from the assembly (use Eiffel naming convention otherwise)?
ISE Ace:
true -> dotnet_naming_convention (yes)
false -> dotnet_naming_convention (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: dynamic_runtime
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable the use of the Eiffel runtime as a
DLL or shared library.
ISE Ace:
true -> dynamic_runtime (yes)
false -> dynamic_runtime (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: enforce_unique_class_names
VALUES: true | false
DEFAULT: false
DESCRIPTION: Should class names be unique even across libraries?
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: exception_trace
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable to see a complete exception trace
when a finalized application is crashing.
NOTE: The option 'finalize' (finalization mode) should
be set in order for this option to have any effect.
ISE Ace:
true -> exception_trace (yes)
false -> exception_trace (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: external_runtime
VALUES:
DEFAULT: no default
DESCRIPTION: External runtime.
ISE Ace:
N/A
ISE ECF:
->
-------------------------------------------------------------
NAME: finalize
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable global optimizations (finalization mode).
NOTE: This option has no direct effect. Each individual
optimization option should be set separately.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: flat_fst_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether dynamic tables may be kept not
compacted for faster dynamic access to features.
NOTE: The option 'finalize' (finalization mode) should
be set in order for this option to have any effect.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: force_32bits
VALUES: true | false
DEFAULT: false
DESCRIPTION: Force compilation for 32bits (.NET only).
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: fst_expansion_factor
VALUES:
DEFAULT: 2
DESCRIPTION: Visual Eiffel supports dynamic binding via
mechanism of FST (stands for Feature Selection Tables).
Every entry in such table is a pair "class id (magic
number) - feature address/attribute offset". In the general
case binary searching is used to find the proper entry. To
make this search faster and more efficient binary searching
in the table can be replaced with direct linear access to
array items (class id will be used as index of the array
item). is a positive integer number. When FST size
multiplied by is greater than the maximum class id
in this FST, it is transformed into array.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: fst_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Replace dynamic feature calls by static ones
when possible (FST stands for Feature Selection Tables).
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: full_class_checking
VALUES: true | false
DEFAULT: false
DESCRIPTION: Run flat Degree 3.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: garbage_collector
VALUES: none | internal | boehm
DEFAULT: internal
DESCRIPTION: Select garbage collector.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: gc_info
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable garbage collector status information.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: header
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a directory containing C header files.
NOTE: There can be several of these options.
ISE Ace:
-> include_path: ""
ISE ECF:
->
-------------------------------------------------------------
NAME: heap_size
VALUES:
DEFAULT: no default
DESCRIPTION: Specify the dynamic heap size for the program.
is a positive number of bytes that will be reserved
for the heap.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: high_memory_compiler
VALUES: true | false
DEFAULT: false
DESCRIPTION: Allow the compiler to use more memory at compile
time (caching, bigger buffers, etc.). Compilation is likely
to be quicker, if you have enough memory (RAM, not disk!)...
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: il_verifiable
VALUES: true | false
DEFAULT: true
DESCRIPTION: When compiling to the .NET framework. Is the generated
code IL verifiable?
ISE Ace:
true -> il_verifiable (yes)
false -> il_verifiable (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: inlining
VALUES: none | array | constant | once | all
DEFAULT: all
DESCRIPTION: Enable inlining. 'array' means ARRAY and STRING
inlining, 'constants' means constant inlining, 'once' means
once-feature inlining, and 'all' means anything that can
be inlined.
NOTE: There can be several of these options.
ISE Ace:
none -> inlining (no)
array -> inlining (yes)
constant -> inlining (yes)
once -> inlining (yes)
all -> inlining (yes)
--
If several occurrences of Ace options would need to be generated,
only one occurrence would actually be generated with value 'yes'
if there is at least one 'yes' and 'no' otherwise.
The option has effect only in finalized mode.
ISE ECF:
none ->
array ->
constant ->
once ->
all ->
--
If several occurrences of ECF options would need to be generated,
only one occurrence would actually be generated with value 'true'
if there is at least one 'true' and 'false' otherwise.
The option has effect only in finalized mode.
Note that the default value in ECF is true.
-------------------------------------------------------------
NAME: inlining_size
VALUES:
DEFAULT: 0
DESCRIPTION: Specify maximum size of routines to be inlined.
NOTE: No effect if 'inlining' is disabled.
ISE Ace:
-> inlining_size ("")
--
The default value in Ace is 4.
ISE ECF:
->
-------------------------------------------------------------
NAME: jumps_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether jumps optimization will be enabled.
This option activates low-level code optimization: chains of
jump instructions (when one jump instruction transfers control
to another jump instruction) are replaced when possible by the
shortcut jump instruction.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: layout_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether special rearrangements may be used
to represent the objects in the memory in more access-efficient
way by changing the order of the attributes.
NOTE: The option 'finalize' (finalization mode) should
be set in order for this option to have any effect.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: leaves_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether all calls to features of the leaf
classes will be direct ones.
NOTE: The option 'finalize' (finalization mode) should
be set in order for this option to have any effect.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: line_generation
VALUES: true | false
DEFAULT: false
DESCRIPTION: Generate C pragmas '#line x' in generated C code.
ISE Ace:
true -> line_generation (yes)
false -> line_generation (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: link
VALUES:
DEFAULT: no default
DESCRIPTION: Specify object files, library files or command
line options to be passed to the linker.
NOTE: There can be several of these options.
ISE Ace:
-> object: ""
ISE ECF:
->
-------------------------------------------------------------
NAME: linker
VALUES: default | microsoft
DEFAULT: default
DESCRIPTION: Specify which linker should be used. 'default'
means that the standard Object Tools linker is invoked for
linking, 'microsoft' means that ther standard Microsoft
linker is invoked.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: linux_fpu_double_precision
VALUES: true | false
DEFAULT: false
DESCRIPTION: The default FPU precision used by gcc for Linux
may not be appropriate for some users and does not match the
behavior of gcc on other platforms or the behavior of other
compilers on the same architecture (i386). The option
has no effect if used on a different platform.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: manifest_string_trace
VALUES: true | false
DEFAULT: false
DESCRIPTION: Print an information message each time a non-once
manifest string is allocated at runtime.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: map
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether the map file is to be created.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: metadata_cache_path
VALUES:
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. Specify pathname
where XML files describing DLLs assemblies will be generated.
ISE Ace:
-> metadada_cache_path ("")
ISE ECF:
->
--
ISE's default: $ISE_EIFFEL\dotnet\assemblies
-------------------------------------------------------------
NAME: msil_assembly_compatibility
VALUES: "None"|"Same domain"|"Same machine"|"Same process"
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. Assembly compatibility.
ISE Ace:
-> msil_assembly_compatibility ("")
ISE ECF:
->
--
Not used in ECF.
-------------------------------------------------------------
NAME: msil_classes_per_module
VALUES: integer > 0
DEFAULT: 5
DESCRIPTION: Number of classes generated per .NET module during
incremental compilation. Increasing this value will slow down
the incremental recompilation, but speed up the time to load
the assembly while debugging in workbench mode.
ISE Ace:
N/A
ISE ECF:
->
-------------------------------------------------------------
NAME: msil_clr_version
VALUES:
DEFAULT: no default
EXAMPLE: v1.1.4322
DESCRIPTION: When compiling to the .NET framework. Specify version
of .NET framework to be used.
ISE Ace:
-> msil_clr_version ("")
ISE ECF:
->
--
ISE's ECF default: highest installed .NET version.
-------------------------------------------------------------
NAME: msil_culture
VALUES:
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. MSIL culture.
ISE Ace:
N/A
ISE ECF:
->
-------------------------------------------------------------
NAME: msil_generation
VALUES: true | false
DEFAULT: false
DESCRIPTION: Compile to the .NET framework.
ISE Ace:
true -> msil_generation (yes)
false -> msil_generation (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: msil_generation_version
VALUES:
DEFAULT: no default
EXAMPLE: 1.1.0411.02
DESCRIPTION: When compiling to the .NET framework. Specify version
of generated DLL or EXE assembly (info stored in the metadata).
ISE Ace:
-> version ("")
ISE ECF:
N/A
-------------------------------------------------------------
NAME: msil_key_file_name
VALUES:
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. Key to be
able to add the generated binary to the Global Assembly
Cache (GAC).
ISE Ace:
N/A
ISE ECF:
->
-------------------------------------------------------------
NAME: msil_use_optimized_precompile
VALUES: true | false
DEFAULT: false
DESCRIPTION: When compiling to the .NET framework. Use an
optimized version of a precompile.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: multithreaded
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable generation of a multithreaded application.
ISE Ace:
true -> multithreaded (yes)
false -> multithreaded (no)
ISE ECF:
true ->
false ->
VE:
true -> multithreading on
false -> multithreading off
--
No effect on platforms other than Windows.
SE:
N/A
-------------------------------------------------------------
NAME: namespace
VALUES:
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. Specify the
namespace to be used for the classes of this system.
ISE Ace:
N/A
ISE ECF:
->
-------------------------------------------------------------
NAME: no_default_lib
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify that default library should not be linked
in (works only with Object Tools linker)
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: old_verbatim_strings
VALUES: true | false
DEFAULT: false
DESCRIPTION: Use the old format for verbatim strings.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: override_cluster
VALUES:
DEFAULT: no default
DESCRIPTION: Enable all classes of to override
the classes with the same names located in other clusters.
NOTE: There can be several of these options.
ISE Ace:
-> override_cluster ()
ISE ECF:
->
-------------------------------------------------------------
NAME: portable_code_generation
VALUES: true | false
DEFAULT: false
DESCRIPTION: Should generated C code be portable?
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: precompiled
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a precompiled library.
ISE Ace:
-> precompiled ("")
ISE ECF:
N/A
--
Note: see if we can do something with group.
-------------------------------------------------------------
NAME: profile
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable Eiffel profiling.
ISE Ace:
true -> profile (yes)
false -> profile (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: reloads_optimization
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify whether register reloads optimizations
will be enabled. This option activates low-level code
optimization: the value will not be loaded in a register
from the memory if it is already stored in the register.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: shared_library_definition
VALUES:
DEFAULT: no default
DESCRIPTION: Specify the file where the Eiffel compiler will
look when generating the exported functions of a shared
library.
ISE Ace:
-> shared_library_definition ("")
ISE ECF:
->
-------------------------------------------------------------
NAME: split
VALUES: true | false
DEFAULT: false
DESCRIPTION: Generate several C files instead of one big
single C file for the complete system.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: stack_size
VALUES:
DEFAULT: no default
DESCRIPTION: Specify the stack size for the program.
is a positive number of bytes that will be reserved for
the program stack.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: storable_filename
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a list of class names (one per line) that
should be marked as 'storable'. It's an alternative to declaring
these classes in 'storable' clauses in cluster declarations
in Ace files.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: strip
VALUES: true | false
DEFAULT: true
DESCRIPTION: Enable 'strip' to be run on the generated executable.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: syntax
VALUES: obsolete | transitional | standard
DEFAULT: transitional
DESCRIPTION: Instruct the Eiffel parser to accept or reject some
syntax notations for some Eiffel constructs. This is typically
used during transitional periods.
ISE Ace:
N/A
ISE ECF:
->
--
This is using the ECF 1.5 notation. In ECF 1.4, the option was
named 'syntax_level' and its possible values were integer codes.
-------------------------------------------------------------
NAME: target
VALUES: exe | dll | com | no_main
DEFAULT: exe
DESCRIPTION: Specify the output target of the application.
ISE Ace:
exe -> msil_generation_type ("exe")
dll -> msil_generation_type ("dll")
com -> msil_generation_type ("exe")
no_main -> msil_generation_type ("exe")
ISE ECF:
exe ->
dll ->
com ->
no_main ->
-------------------------------------------------------------
NAME: trace
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable trace mode.
ISE Ace:
true -> trace (yes)
false -> trace (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: use_cluster_name_as_namespace
VALUES: true | false
DEFAULT: true
DESCRIPTION: When compiling to the .NET framework. Should the
cluster name be used as namespace (e.g. base.STRING)?
ISE Ace:
true -> use_cluster_name_as_namespace (yes)
false -> use_cluster_name_as_namespace (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: use_full_cluster_name_as_namespace
VALUES: true | false
DEFAULT: true
DESCRIPTION: When compiling to the .NET framework. Should names
of folders in recursive clusters be used as namespaces (e.g.
base.kernel.STRING)?
ISE Ace:
true -> use_all_cluster_name_as_namespace (yes)
false -> use_all_cluster_name_as_namespace (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: verbose
VALUES: true | false
DEFAULT: false
DESCRIPTION: Run compiler in verbose mode.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: visible_filename
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a list of class names (one per line) that
should be marked as 'visible'. It's an alternative to declaring
these classes in 'visible' clauses in cluster declarations
in Ace files.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: void_safety
VALUES: none | on_demand | complete
DEFAULT: none
DESCRIPTION: Should void-safety rules be checked?
ISE Ace:
N/A
ISE ECF:
none ->
on_demand ->
complete ->
-------------------------------------------------------------
NAME: warning
VALUES: none | style | default | all
DEFAULT: default
DESCRIPTION: Specify warning level. 'style' means that Eiffel
style warnings (e.g. having feature names in all upper-case)
are emitted. 'default' means that warnings such as local
variables unused are emitted. 'all' means that all warnings
are emitted.
ISE Ace:
N/A
ISE ECF:
none ->
style ->
default ->
all ->
-------------------------------------------------------------
NAME: wedit
VALUES: true | false
DEFAULT: false
DESCRIPTION: Enable support for the Wedit debugger.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NOTE: the following ISE Eiffel options are not supported
yet by 'gexace':
. disabled_debug (...)
=============================================================
CLUSTER OPTIONS
Following is the list of cluster-level options supported by
'gexace' (of the form ),
and how they are translated to the vendor dependent Ace or
ECF files. "N/A" does not necessarily mean that the corresponding
Eiffel compiler does not support this facility, it could just
be that the facility is not parameterizable or is activated
from the command-line or from a separate tool rather than from
the Ace or ECF file. When an entry is marked "N/A" the option
will be silently ignored and nothing will be generated in the
Ace or ECF file for this option. Likewise when the name of an
option specified in an Xace file is not known by 'gexace'.
The DEFAULT section shows 'gexace' default value when this
option is not explicitely specified in the Xace file. It
can be different from the default value used by the various
Eiffel vendors in their Ace or ECF files.
For further details about each option, please refer to the
documentation provided with the Eiffel compilers.
-------------------------------------------------------------
NAME: abstract
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify that this cluster should not be searched
for Eiffel classes (but its subclusters can if they don't
have this option set).
ISE Ace:
true ->
if there is at least one non-abstract subcluster ->
cluster_name: "pathname"
if there is no non-abstract subcluster ->
no output
false ->
cluster_name: "pathname"
ISE ECF:
true ->
if there is at least one non-abstract subcluster ->
if there is no non-abstract subcluster ->
no output
false ->
-------------------------------------------------------------
NAME: assembly
VALUES:
DEFAULT: no default
DESCRIPTION: Specify that the cluster is in fact a .NET assembly.
ISE Ace:
->
assembly
cluster_name: "", "", "", ""
ISE ECF:
->
-------------------------------------------------------------
NAME: assertion
VALUES: none | generate | require | supplier_precondition | ensure |
invariant | loop_invariant | loop_variant | check | all
DEFAULT: no default
DESCRIPTION: Set default assertion level for the classes of
this cluster. Override the assertion level specified at
the system level.
NOTE: There can be several of these options.
NOTE: The purpose of 'generate' is to generate the code of
the assertions in the generated code even if these assertions
are turned off.
ISE Ace:
none -> assertion (no)
generate -> assertion (no)
require -> assertion (require)
supplier_precondition -> N/A
ensure -> assertion (ensure)
invariant -> assertion (invariant)
loop_invariant -> assertion (loop)
loop_variant -> assertion (loop)
check -> assertion (check)
all -> assertion (all)
ISE ECF:
none ->
generate ->
require ->
supplier_precondition ->
ensure ->
invariant ->
loop_invariant ->
loop_variant ->
check ->
all ->
-------------------------------------------------------------
NAME: attached_by_default
VALUES: true | false
DEFAULT: false
DESCRIPTION: Are types attached by default when no attachment mark is specified?
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: component
VALUES:
DEFAULT: no default
DESCRIPTION: Specify that the cluster is in fact a component library.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: culture
VALUES:
DEFAULT: neutral
DESCRIPTION: Specify the culture of the .NET assembly.
NOTE: The option 'assembly' should be set in order for this
option to have any effect.
ISE Ace:
->
assembly
cluster_name: "", "", "", ""
ISE ECF:
->
-------------------------------------------------------------
NAME: debug
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Enable debug instructions for the classes of this cluster.
Override the 'debug' option specified at the system level.
ISE Ace:
true -> debug (yes)
false -> debug (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: debug_tag
VALUES:
DEFAULT: no default
DESCRIPTION: Enable debug instructions with tag '' for the
classes of this cluster. Override the 'debug_tag' option
specified at the system level.
NOTE: There can be several of these options.
ISE Ace:
-> debug ("")
ISE ECF:
->
-------------------------------------------------------------
NAME: document
VALUES:
DEFAULT: no default
DESCRIPTION: Specify in which directory the documentation for
the classes of this cluster generated by ISE EiffelStudio
should be put (when using the Project/Generate documentation...
menu). If no directory is specified, the documentation will
be generated at the same level as the EIFGEN directory in a
directory called 'Documentation'. Override the 'document'
option specified at the system level.
ISE Ace:
-> document ("")
ISE ECF:
N/A
-------------------------------------------------------------
NAME: ecf_library
VALUES:
DEFAULT: no default
DESCRIPTION: Specify that the cluster is the root of a library
that is otherwise described by the ECF file .
ISE Ace:
N/A
ISE ECF
->
-------------------------------------------------------------
NAME: exclude
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a filename, or a directory name when the
'recursive' option is set, that should not be taken into
account when searching the cluster for Eiffel classes.
NOTE: There can be several of these options.
ISE Ace:
->
cluster_name: "cluster_pathname"
exclude
""
end
ISE ECF:
->
/$
-------------------------------------------------------------
NAME: full_class_checking
VALUES: true | false
DEFAULT: false
DESCRIPTION: Run flat Degree 3.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: header
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a directory containing C header files.
NOTE: There can be several of these options.
ISE Ace:
-> include_path: ""
ISE ECF:
->
-------------------------------------------------------------
NAME: include
VALUES:
DEFAULT: no default
DESCRIPTION: Specify a filename that should be taken into
account when searching the cluster for Eiffel classes,
even though it does not necessarily have a .e extension.
NOTE: There can be several of these options.
ISE Ace:
->
cluster_name: "cluster_pathname"
include
""
end
ISE ECF:
->
/$
-------------------------------------------------------------
NAME: link
VALUES:
DEFAULT: no default
DESCRIPTION: Specify object files, library files or command
line options to be passed to the linker.
NOTE: There can be several of these options.
ISE Ace:
-> object: ""
ISE ECF:
->
-------------------------------------------------------------
NAME: namespace
VALUES:
DEFAULT: no default
DESCRIPTION: When compiling to the .NET framework. Specify the
namespace to be used for the classes of this cluster.
ISE Ace:
-> namespace ("")
ISE ECF:
->
-------------------------------------------------------------
NAME: prefix
VALUES:
DEFAULT: no default
DESCRIPTION: Specify the class name prefix for classes of this
cluster or .NET assembly,
NOTE: The option 'assembly' should be set in order for this
option to have any effect when generating Ace files.
ISE Ace:
->
assembly
cluster_name: "", "", "", ""
prefix
""
end
ISE ECF:
->
->
-------------------------------------------------------------
NAME: profile
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Enable Eiffel profiling for the classes of this
cluster. Override the 'profile' option specified at the
system level.
ISE Ace:
true -> profile (yes)
false -> profile (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: public_key_token
VALUES:
DEFAULT: b77a5c561934e089
DESCRIPTION: Specify the public_key_token of the .NET assembly.
NOTE: The option 'assembly' should be set in order for this
option to have any effect.
ISE Ace:
->
assembly
cluster_name: "", "", "", ""
ISE ECF:
->
-------------------------------------------------------------
NAME: read_only
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify that the classes in the cluster
directory should be considered as read-only by the
underlying Eiffel tool.
NOTE: This option is only supported by ISE's EiffelStudio
when the cluster is also 'recursive'. Otherwise it
has no effect
ISE Ace:
true ->
library cluster_name: "pathname"
false ->
cluster_name: "pathname"
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: recursive
VALUES: true | false
DEFAULT: false
DESCRIPTION: Specify that the cluster directory and its
subdirectories should be recursively traversed to find
Eiffel classes.
ISE Ace:
true ->
all cluster_name: "pathname"
false ->
cluster_name: "pathname"
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: storable
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Specify that all classes in the cluster should
be included into the system.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: syntax
VALUES: obsolete | transitional | standard
DEFAULT: transitional
DESCRIPTION: Instruct the Eiffel parser to accept or reject some
syntax notations for some Eiffel constructs. This is typically
used during transitional periods.
ISE Ace:
N/A
ISE ECF:
->
--
This is using the ECF 1.5 notation. In ECF 1.4, the option was
named 'syntax_level' and its possible values were integer codes.
-------------------------------------------------------------
NAME: trace
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Enable trace mode for the classes of this cluster.
Override the 'trace' option specified at the system level.
ISE Ace:
true -> trace (yes)
false -> trace (no)
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: version
VALUES:
DEFAULT: 1.0.5000.0
DESCRIPTION: Specify the version of the .NET assembly.
NOTE: The option 'assembly' should be set in order for this
option to have any effect.
ISE Ace:
->
assembly
cluster_name: "", "", "", ""
ISE ECF:
->
-------------------------------------------------------------
NAME: void_safety
VALUES: none | on_demand | complete
DEFAULT: none
DESCRIPTION: Should void-safety rules be checked?
ISE Ace:
N/A
ISE ECF:
none ->
on_demand ->
complete ->
-------------------------------------------------------------
=============================================================
CLASS OPTIONS
Following is the list of class-level options supported by
'gexace' (of the form ),
and how they are translated to the vendor dependent Ace or
ECF files. "N/A" does not necessarily mean that the corresponding
Eiffel compiler does not support this facility, it could just
be that the facility is not parameterizable or is activated
from the command-line or from a separate tool rather than from
the Ace or ECF file. When an entry is marked "N/A" the option
will be silently ignored and nothing will be generated in the
Ace or ECF file for this option. Likewise when the name of an
option specified in an Xace file is not known by 'gexace'.
The DEFAULT section shows 'gexace' default value when this
option is not explicitely specified in the Xace file. It
can be different from the default value used by the various
Eiffel vendors in their Ace or ECF files.
For further details about each option, please refer to the
documentation provided with the Eiffel compilers.
-------------------------------------------------------------
NAME: assertion
VALUES: none | generate | require | supplier_precondition | ensure |
invariant | loop_invariant | loop_variant | check | all
DEFAULT: no default
DESCRIPTION: Set default assertion level for this class.
Override the assertion level specified at the cluster
and system levels.
NOTE: There can be several of these options.
NOTE: The purpose of 'generate' is to generate the code of
the assertions in the generated code even if these assertions
are turned off.
ISE Ace:
none -> assertion (no): CLASS_NAME
generate -> assertion (no): CLASS_NAME
require -> assertion (require): CLASS_NAME
supplier_precondition -> N/A
ensure -> assertion (ensure): CLASS_NAME
invariant -> assertion (invariant): CLASS_NAME
loop_invariant -> assertion (loop): CLASS_NAME
loop_variant -> assertion (loop): CLASS_NAME
check -> assertion (check): CLASS_NAME
all -> assertion (all): CLASS_NAME
ISE ECF:
none ->
generate ->
require ->
supplier_precondition ->
ensure ->
invariant ->
loop_invariant ->
loop_variant ->
check ->
all ->
-------------------------------------------------------------
NAME: attached_by_default
VALUES: true | false
DEFAULT: false
DESCRIPTION: Are types attached by default when no attachment mark is specified?
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: debug
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Enable debug instructions for this class.
Override the 'debug' option specified at the cluster and
system levels.
ISE Ace:
true -> debug (yes): CLASS_NAME
false -> debug (no): CLASS_NAME
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: debug_tag
VALUES:
DEFAULT: no default
DESCRIPTION: Enable debug instructions with tag '' for this
class. Override the 'debug_tag' option specified at the cluster
and system levels.
NOTE: There can be several of these options.
ISE Ace:
-> debug (""): CLASS_NAME
ISE ECF:
->
-------------------------------------------------------------
NAME: export
VALUES:
DEFAULT: no default
DESCRIPTION: Specify that this class and its features should
be visible from C when using Cecil for example.
ISE Ace:
->
visible
CLASS_NAME
end
--
Limitation: the external name is not taken into account.
ISE ECF:
->
-------------------------------------------------------------
NAME: full_class_checking
VALUES: true | false
DEFAULT: false
DESCRIPTION: Run flat Degree 3.
ISE Ace:
N/A
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: layout
VALUES: auto | sequential
DEFAULT: auto
DESCRIPTION: Specify the layout of an object when it is accessed
from outside Eiffel code. 'auto' means the layout for the object
fields (variable attributes) in memory is chosen automatically.
'sequential' means the fields are laid out in memory in the order
they appear in a class text. The fields of child classes are laid
out after the fields of parent classes. Inability to do so
(because of repeated and multiple inheritance) results in a
compilation error.
NOTE: None of the currently supported Eiffel compilers supports
this option.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: storable
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Specify that this class should be included into
the system.
NOTE: This option was for the Halstenbach compiler.
Even if Halstenbach is not supported any more, gexace
still supports this option because some Xace files may
have it.
ISE Ace:
N/A
ISE ECF:
N/A
-------------------------------------------------------------
NAME: syntax
VALUES: obsolete | transitional | standard
DEFAULT: transitional
DESCRIPTION: Instruct the Eiffel parser to accept or reject some
syntax notations for some Eiffel constructs. This is typically
used during transitional periods.
ISE Ace:
N/A
ISE ECF:
->
--
This is using the ECF 1.5 notation. In ECF 1.4, the option was
named 'syntax_level' and its possible values were integer codes.
-------------------------------------------------------------
NAME: trace
VALUES: true | false
DEFAULT: no default
DESCRIPTION: Enable trace mode for this class. Override the
'trace' option specified at the cluster and system levels.
ISE Ace:
true -> trace (yes): CLASS_NAME
false -> trace (no): CLASS_NAME
ISE ECF:
true ->
false ->
-------------------------------------------------------------
NAME: void_safety
VALUES: none | on_demand | complete
DEFAULT: none
DESCRIPTION: Should void-safety rules be checked?
ISE Ace:
N/A
ISE ECF:
none ->
on_demand ->
complete ->
-------------------------------------------------------------
=============================================================
FEATURE OPTIONS
Following is the list of feature-level options supported by
'gexace' (of the form ),
and how they are translated to the vendor dependent Ace or
ECF files. "N/A" does not necessarily mean that the corresponding
Eiffel compiler does not support this facility, it could just
be that the facility is not parameterizable or is activated
from the command-line or from a separate tool rather than from
the Ace or ECF file. When an entry is marked "N/A" the option
will be silently ignored and nothing will be generated in the
Ace or ECF file for this option. Likewise when the name of an
option specified in an Xace file is not known by 'gexace'.
The DEFAULT section shows 'gexace' default value when this
option is not explicitely specified in the Xace file. It
can be different from the default value used by the various
Eiffel vendors in their Ace or ECF files.
For further details about each option, please refer to the
documentation provided with the Eiffel compilers.
-------------------------------------------------------------
NAME: callback
VALUES: winapi
DEFAULT: no default
DESCRIPTION: Specify that this feature should get a wrapper
when $ operator is applied; the result can be used as a pointer
to the Windows API callback function if value of the option is
"winapi".
NOTE: None of the currently supported Eiffel compilers supports
this option.
ISE Ace:
N/A
ISE EF:
N/A
-------------------------------------------------------------
NAME: export
VALUES:
DEFAULT: no default
DESCRIPTION: Specify that this feature should be visible
from C when using Cecil for example.
ISE Ace:
->
visible
CLASS_NAME
export
feature_name
end
--
Limitation: the external name is not taken into account.
ISE ECF:
->
-------------------------------------------------------------