|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 27098 (0x69da)
Types: TextFile
Names: »B«
└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
└─⟦9a14c9417⟧ »DATA«
└─⟦this⟧
separate (M68k_Sunos_Vdx)
function Get_Operational_Info return Op.Object is
Compiler_Properties : constant Op.Compiler_Property_List :=
(Op.Generics_Share_Code => False,
Op.Require_Body_And_Generic_In_Same_Compilation => False,
Op.Requires_Subunits_And_Generic_In_Same_Compilation => False,
Op.Implements_Pragma_Inline => True,
Op.Separate_Subunits_Are_Inefficient => False);
-- Help text for the Options switches.
Apply_Suppress_Help : constant String :=
"-S (suppress) " &
"Applies pragma SUPPRESS to the entire compilation for all " &
"suppressible checks. (See also pragma SUPPRESS (ALL_CHECKS)).";
Archive_File_Name_Help : constant String :=
"-a file_name (archive) " &
"Treats file_name as an object archive file " &
"created by the SunOS command ar. " &
"Since some archive files end with .a, -a is used to " &
"distinguish archive files from Ada source files.";
Debug_Overflow_Help : constant String :=
"-DX (debug) " &
"Debug memory overflow (used in cases where linking a " &
"large number of units causes the error message " &
"""local symbol overflow"" to occur).";
Define_Preprocessor_Value_Help : constant String :=
"-# identifier type value (define) " &
"Defines an identifier of the specified type and value.";
Dependencies_Only_Help : constant String :=
"-d (dependencies) " &
"Analyzes for dependencies only. " &
"Does not do semantic analysis or code generation. " &
"Updates the library, marking any defined units as uncompiled.";
Dependent_Files_Help : constant String :=
"-F (files) " &
"Prints a list of dependent files in order and suppresses linking.";
Dependent_Units_Help : constant String :=
"-U (units) " &
"Prints a list of dependent units in order and suppresses linking.";
Elaborate_Help : constant String :=
"-E unit_name (elaborate) " &
"Elaborates unit_name as early in the elaboration order " &
"as possible.";
Error_Listing_Help : constant String :=
"-El (error listing) " &
"Same as the -E (Error_Output) option, except that a " &
"source listing with errors is produced.";
Error_Output_Help : constant String :=
"-E (error output) " &
"If this switch is True, Ada processes error messages " &
"using a.error and directs a brief output to standard output; " &
"the raw error messages are left in ada_source.err.";
Executable_Output_Help : constant String :=
"-o executable_file (output) " &
"This option can only be used in conjunction with the -M option. " &
"The name of the executable will be executable_file rather than " &
"the default a.out.";
Invoke_Preprocessor_Help : constant String :=
"-P (preprocessor) " &
"Invokes the Ada Preprocessor.";
Keep_Intermediate_Help : constant String :=
"-K (keep) " &
"Keeps the intermediate language (IL) file produced by " &
"the compiler front end. The IL file will be placed in " &
"the .objects directory, with the file name ada_source.i.";
Main_Help : constant String :=
"-M unit_name, -M source_file (main). -M unit_name : " &
"Produces an executable program by linking the named unit as the " &
"main program. unit_name must already be compiled. It must be " &
"either a parameterless procedure or a parameterless function " &
"returning an integer. " &
"-M source_file : " &
"Produces an executable program by compiling and linking " &
"source_file. The main unit of the program is assumed to be " &
"the root name of the .a file (for foo.a the unit is foo). " &
"Only one .a file may be preceded by -M. " &
"In either case, the executable program will be named a.out " &
"unless overridden with the -o option.";
Optimization_Help : constant String :=
"-O[0-9] (optimize) " &
"Invokes the code optimizer (OPTIM3). An optional " &
"digit (there is no space before the digit) provides " &
"the level of optimization. The default is -O4. " &
"Note that an entire option string, such as ""-O2"" or ""-O"", " &
"must be supplied as an argument for this switch. " &
"-O : full optimization, " &
"-O0 : prevents optimization, " &
"-O1 : no hoisting, " &
"-O2 : no hoisting but more passes, " &
"-O3 : no hoisting but even more passes, " &
"-O4 : hoisting from loops, " &
"-O5 : hoisting from loops but more passes, " &
"-O6 : hoisting from loops with maximum passes, " &
"-O7 : hoisting from loops and branches, " &
"-O8 : hoisting from loops and branches, more passes, " &
"-O9 : hoisting from loops and branches, maximum passes.";
Recompile_Instantiation_Help : constant String :=
"-R SunAda_library (recompile instantiation) " &
"Forces analysis of all generic instantiations, " &
"causing reinstantiation of any that are out of date.";
Show_Tool_Name_Only_Help : constant String :=
"-sh (show) " &
"Displays the name of the tool executable but does not execute it.";
Suppress_Warnings_Help : constant String :=
"-w (warnings) " &
"Suppresses warning diagnostics.";
Timing_Help : constant String :=
"-T (timing) " &
"Prints timing information for the compilation.";
Verbose_Help : constant String :=
"-v (verbose) " &
"During compilation, prints the compiler version number, date and " &
"time of compilation, name of file compiled, command input line, " &
"total compilation time, error summary line, and " &
"storage usage information about the object file. " &
"During linking, prints the linker command before executing it.";
Remote_Parent_Library_Help : constant String :=
"Use this switch to specify the location of the remote parent" &
" library on the remote host. By default, the RCI will attempt" &
" to access the MC68881 library.";
-- Commented descriptions for each of the options defined below are taken
-- mainly from the man pages supplied by the SunAda "a.help" command.
Option_List : constant Op.Option_List :=
(
-------- COMPILER OPTIONS --------
--
--{ The SPARC ada compiler appears to be happy if these options are
-- made post-options instead of pre-options. }
--
-- -# identifier type value (define) Define an identifier of a
-- specified type and value. See Chapter 10, Sun Ada ADA
-- PREPROCESSOR REFERENCE.
Op.Build (For_Target => T_Name,
Option_Name => "-#",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Define_Preprocessor_Value",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Define_Preprocessor_Value_Help),
-- -a file_name
-- (archive) Treat file_name as an object
-- archive file created by ar. Since some archive files end
-- with .a, -a is used to distinguish archive files from Ada
-- source files.
Op.Build (For_Target => T_Name,
Option_Name => "-a",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Archive_File_Name",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Archive_File_Name_Help),
-- -d
-- (dependencies) Analyze for dependencies only. Do not do
-- semantic analysis or code generation. Update the library,
-- marking any defined units as uncompiled. The -d option is
-- used by a.make to establish dependencies among new files.
Op.Build
(For_Target => T_Name,
Option_Name => "-d",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Dependencies_Only",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Dependencies_Only_Help),
-- -E
-- -E file
-- -E directory
-- Without a file or directory argument, ada processes error
-- messages using a.error and directs a brief output to
-- standard output; the raw error messages are left in
-- ada_source.err. If a file pathname is given, the raw
-- error messages are placed in that file. If a directory
-- argument is supplied, the raw error output is placed in
-- dir/source.err. The file of raw error messages can be used
-- as input to a.error.
--
--{ We can only use one -E option (either -E or -El). }
Op.Build (For_Target => T_Name,
Option_Name => "-E",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Error_Output",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Error_Output_Help),
-- -El
-- -El file
-- -El directory
-- Same as the -E option, except that a source listing with errors
-- is produced.
--
--{ This is partly true. The source listing with errors goes to the
-- standard output, but the error file will only contain the errors,
-- not the source listing, so for RCI purposes -E (Error_Output) and
-- -El (Error_Listing) are identical. }
Op.Build (For_Target => T_Name,
Option_Name => "-El",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Error_Listing",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Error_Listing_Help),
-- -K
-- (keep) Keep the intermediate language (IL) file
-- produced by the compiler front end. The IL file will be placed
-- in the .objects directory, with the file name ada_source.i.
Op.Build
(For_Target => T_Name,
Option_Name => "-K",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Keep_Intermediate",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Keep_Intermediate_Help),
-- -M unit_name
-- (main) Produce an executable program by linking the named unit as
-- the main program. unit_name must already be compiled. It must be
-- either a parameterless procedure or a parameterless function
-- returning an integer. The executable program will be named a.out
-- unless overridden with the -o option.
--
-- -M source_file
-- (main) Produce an executable program by compiling and linking
-- source_file. The main unit of the program is assumed to be the root
-- name of the .a file (for foo.a the unit is foo). Only one .a file
-- may be preceded by -M. The executable program will be named a.out
-- unless overridden with the -o option.
Op.Build (For_Target => T_Name,
Option_Name => "-M",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Main",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Main_Help),
-- -o executable_file
-- (output) This option is to be used in conjunction with the -M
-- option. executable_file is the name of the executable rather than
-- the default a.out.
Op.Build (For_Target => T_Name,
Option_Name => "-o",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Executable_Output",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Executable_Output_Help),
-- -O[0-9]
-- (optimize) Invoke the code optimizer (OPTIM3). An
-- optional digit (there is no space before the digit) provides
-- the level of optimization. The default is -O4.
--
-- The switch argument must be a string containing the desired
-- optimization option, which must contain a minus sign followed by the
-- letter 'O' followed by a digit ("-O0" .. "-O9"). Note that the
-- argument must contain the '-' prefix.
Op.Build (For_Target => T_Name,
Option_Name => "",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Optimization",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Optimization_Help),
-- -P
-- Invoke the Ada Preprocessor. See Chapter 10, Sun Ada ADA
-- PREPROCESSOR REFERENCE.
Op.Build (For_Target => T_Name,
Option_Name => "-P",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Invoke_Preprocessor",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Invoke_Preprocessor_Help),
-- -R SunAda_library
-- (recompile instantiation) Force analysis of all generic
-- instantiations, causing reinstantiation of any that are out of date.
--
Op.Build (For_Target => T_Name,
Option_Name => "-R",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Recompile_Instantiation",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Recompile_Instantiation_Help),
-- -S
-- (suppress) Apply pragma SUPPRESS to the entire
-- compilation for all suppressible checks. (See also pragma
-- SUPPRESS(ALL_CHECKS) on page PG F-6.
Op.Build (For_Target => T_Name,
Option_Name => "-S",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Apply_Suppress",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Apply_Suppress_Help),
-- -sh
-- (show) Display the name of the tool executable but do
-- not execute it.
Op.Build
(For_Target => T_Name,
Option_Name => "-sh",
Active_Phases => (Op.Promote => True,
Op.Link => True,
others => False),
Switch_Dependent => True,
Switch_Name => "Show_Tool_Name_Only",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Show_Tool_Name_Only_Help),
-- -T
-- (timing) Print timing information for the compilation.
Op.Build
(For_Target => T_Name,
Option_Name => "-T",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Timing",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Timing_Help),
-- -v
-- (verbose) Print compiler version number, date and time
-- of compilation, name of file compiled, command input line,
-- total compilation time, and error summary line. Storage
-- usage information about the object file is provided. With
-- OPTIM3 the output format of compression (the size of
-- optimized instructions) is as a percentage of input
-- (unoptimized instructions).
Op.Build
(For_Target => T_Name,
Option_Name => "-v",
Active_Phases => (Op.Promote => True,
Op.Link => True,
others => False),
Switch_Dependent => True,
Switch_Name => "Verbose",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Verbose_Help),
-- -w
-- (warnings) Suppress warning diagnostics.
Op.Build (For_Target => T_Name,
Option_Name => "-w",
Active_Phases => (Op.Promote => True, others => False),
Switch_Dependent => True,
Switch_Name => "Suppress_Warnings",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Suppress_Warnings_Help),
-------- LINKER OPTIONS --------
--
-- -DX
-- (debug) Debug memory overflow (use in cases where linking a
-- large number of units causes the error message "local symbol
-- overflow" to occur).
Op.Build (For_Target => T_Name,
Option_Name => "-DX",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Debug_Overflow",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Debug_Overflow_Help),
-- -E unit_name
-- (elaborate) Elaborate unit_name as early in the elaboration order
-- as possible.
Op.Build (For_Target => T_Name,
Option_Name => "-E",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Elaborate",
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Elaborate_Help),
-- -F
-- (files) Print a list of dependent files in order and
-- suppress linking.
Op.Build (For_Target => T_Name,
Option_Name => "-F",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Dependent_Files",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Dependent_Files_Help),
-- -sh
-- (show) Display the name of the tool executable but do not execute it.
-- (defined above)
-- -U
-- (units) Print a list of dependent units in order and
-- suppress linking.
Op.Build (For_Target => T_Name,
Option_Name => "-U",
Active_Phases => (Op.Link => True, others => False),
Switch_Dependent => True,
Switch_Name => "Dependent_Units",
Default_Value => "False",
Option_Takes_Arg => False,
Is_Pre_Option => True,
Help => Dependent_Units_Help),
-- -v
-- (verbose) Print the linker command before executing it.
-- (defined above)
-- =============================================================
--
-- The following option provides a capability to define a parent
-- library that will be used on the a.mklib command.
--
-- =============================================================
Op.Build
(For_Target => T_Name,
Option_Name => "",
Switch_Dependent => True,
Switch_Name => "Remote_Parent_Library",
Active_Phases => (others => False),
Default_Value => "",
Option_Takes_Arg => True,
Is_Pre_Option => True,
Help => Remote_Parent_Library_Help));
Associated_File_List : constant Op.Associated_File_List :=
--{ Only one of the following 2 associated files is possible for any
-- given compilation. }
(Op.Build (For_Target => T_Name,
The_File_Type => Op.Text,
The_Retrieve_Condition => Op.On_Error,
Retrieve_Phase => Op.Promote,
Option_Dependent => True,
Associated_Option_Switch => "Error_Output",
Host_Filename_Extension => "list",
Remote_Filename_Type => Op.File_Name,
Argument_Overrides_Fixed_Name => False,
Fixed_Remote_Filename => "",
Remote_Filename_Extension => "err"),
Op.Build (For_Target => T_Name,
The_File_Type => Op.Text,
The_Retrieve_Condition => Op.On_Error,
Retrieve_Phase => Op.Promote,
Option_Dependent => True,
Associated_Option_Switch => "Error_Listing",
Host_Filename_Extension => "list",
Remote_Filename_Type => Op.File_Name,
Argument_Overrides_Fixed_Name => False,
Fixed_Remote_Filename => "",
Remote_Filename_Extension => "err"),
-- The Sparc does not support Binary FTP file transfer, i.e., the
-- FTP.Use_Type (Binary) fails. It does support FTP.Use_Type
-- (Local_Binary), but this enumeration is NOT defined in the
-- Rcf_Customization_Interface subsystem package
-- Operational_Characteristics. Text transfer seems to work fine
-- however, so we'll use that for now (even though the file really is a
-- binary file).
Op.Build (For_Target => T_Name,
The_File_Type => Op.Text,
The_Retrieve_Condition => Op.On_Normal,
Retrieve_Phase => Op.Link,
Option_Dependent => False,
Associated_Option_Switch => "",
Host_Filename_Extension => "exe",
Remote_Filename_Type => Op.Fixed_Name,
Argument_Overrides_Fixed_Name => True,
Fixed_Remote_Filename => "a.out",
Remote_Filename_Extension => "")
);
--------------------------------------------------
Op_Characteristics : Op.Object :=
Op.Build (Properties => Compiler_Properties,
Max_Filename_Length => 255,
Full_Pathname_Length => 800,
-- This is the limit specified in the Sun Ada User's Guide.
Spec_Filename_Extension => "a",
Body_Filename_Extension => "a",
Extension_Separator => ".",
Directory_Separator => "/",
Directory_Prefix => "",
Directory_Suffix => "",
Directory_Unit_Separator => "/",
Case_Sensitive => True,
Command_Line_Case => Op.Lower,
Max_Command_Line_Length => 255,
Compiler_Command => "ada",
Compiler_Pre_Command => "",
Compiler_Post_Command => "",
Linker_Command => "a.ld",
Linker_Pre_Command => "",
Linker_Post_Command => "",
Executable_Option => "-o",
Executable_Option_Is_Pre_Option => True,
Context_Command => "cd",
Library_Command => "",
Default_Program_Library_Name => "",
Parse_Standard_Output => False,
Parse_Standard_Error => False,
Error_Pattern => "",
Remote_Operating_System => Op.Unix, -- not used yet
The_Transfer_Type => Op.Ftp,
Option_Separator => " ",
Option_Header => "",
Option_Argument_Separator => " ",
Options => Option_List,
Ada_Name_Subunit_Separator => "__",
Ada_Name_Spec_Suffix => "_",
Ada_Name_Body_Suffix => "",
Associated_Files => Associated_File_List,
For_Target => T_Name);
begin
return Op_Characteristics;
end Get_Operational_Info;