DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦14eb39eec⟧ TextFile

    Length: 15667 (0x3d33)
    Types: TextFile
    Names: »B«

Derivation

└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
    └─ ⟦9a14c9417⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Help_Text;
with Sparc_Strings;
separate (M68k_Sunos_Vdx)
function Get_Operational_Info return Op.Object is


    -- Sun Ada 1.0 provides limited support for Code_Shared_Generics.  Because
    -- the support is limited and may be dependent on pragmas and switches, we
    -- will set the Generics_Share_Code property FALSE.  This may cause some
    -- unneeded recompilation at times, but will insure that we ALWAYS
    -- recompile anything that needs recompilation

    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);




    -- Commented descriptions for each of the options defined below are
    -- taken from the man pages supplied by the SunAda "a.help ada".
    --
    Option_List : constant Op.Option_List :=
       (
        -- -# identifier type value
        -- Define an identifier of a specified type and value. See Chapter ,
        -- VADS ADA PREPROCESSOR REFERENCE.
        Op.Build (For_Target        => T_Name,
                   Option_Name      => "-#",
                   Switch_Dependent => True,
                   Switch_Name      => "Define_Preprocessor_Value",
                   Active_Phases    => (Op.Promote => True, others => False),
                   Default_Value    => "",
                   Is_Pre_Option    => True,
                   Option_Takes_Arg => True,  
                   Help             => Help_Text.Define),

        -- -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
        --
        Op.Build (For_Target       => T_Name,
                  Option_Name      => "-E",
                  Switch_Dependent => True,
                  Switch_Name      => "Error_Output",
                  Active_Phases    => (Op.Promote => True, others => False),
                  Default_Value    => "false",
                  Is_Pre_Option    => True,
                  Option_Takes_Arg => False,
                  Help             => Help_Text.Error_Output),

        -- -El
        -- -El file
        -- -El directory
        -- Same as the -E option, except that source listing with errors is
        -- produced.
        --
        Op.Build (For_Target       => T_Name,
                  Option_Name      => "-El",
                  Switch_Dependent => True,
                  Switch_Name      => "Error_Listing",
                  Active_Phases    => (Op.Promote => True, others => False),
                  Default_Value    => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option    => True,  
                  Help             => Help_Text.Error_Listing),

        -- -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",
                  Switch_Dependent => True,
                  Switch_Name      => "Main",
                  Active_Phases    => (Op.Promote => True, others => False),
                  Default_Value    => "",
                  Option_Takes_Arg => True,
                  Is_Pre_Option    => True,  
                  Help             => Help_Text.Main),

        -- -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",
            Switch_Dependent => True,
            Switch_Name      => "Executable_Output",
            Active_Phases    => (Op.Link | Op.Promote => True, others => False),
            Default_Value    => "",
            Option_Takes_Arg => True,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Output),

        -- -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 user will supply a string with the correct optimization switch
        -- in the range O0 - O9.  When the null string is specified the
        -- default is used by the compiler (O4).
        --
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "",
            Switch_Dependent => True,
            Switch_Name      => "Optimization",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "",
            Option_Takes_Arg => True,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Optimize),

        -- -P
        -- Invoke the Ada Preprocessor. See Chapter , VADS ADA
        -- PREPROCESSOR REFERENCE.
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "-P",
            Switch_Dependent => True,
            Switch_Name      => "Invoke_Preprocessor",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Preprocess),

        -- -S
        -- (suppress) Apply pragma SUPPRESS to the entire compilation for
        -- all suppressible checks. (See also pragma SUPPRESS(ALL_CHECKS) on
        -- page
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "-S",
            Switch_Dependent => True,
            Switch_Name      => "Apply_Suppress",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Suppress),

        -- -sh
        -- (show) Display the name of the tool executable but do
        -- not execute it.
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "-sh",
            Switch_Dependent => True,
            Switch_Name      => "Show_Tool_Name_Only",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Show_Tool),

        -- -T
        -- (timing) Print timing information for the compilation.
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "-T",
            Switch_Dependent => True,
            Switch_Name      => "Timing",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Timing),

        -- -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",
            Switch_Dependent => True,
            Switch_Name      => "Verbose",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Verbose),

        -- -w
        -- (warnings) Suppress warning diagnostics.
        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "-w",
            Switch_Dependent => True,
            Switch_Name      => "Supress_Warnings",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "False",
            Option_Takes_Arg => False,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Warning),

        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "",
            Switch_Dependent => True,
            Switch_Name      => "Other_Compiler_Options",
            Active_Phases    => (Op.Promote => True, others => False),
            Default_Value    => "",
            Option_Takes_Arg => True,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Other_Compiler_Options),

        -- ========================================
        -- Linker Options
        -- ========================================

        Op.Build  
           (For_Target       => T_Name,
            Option_Name      => "",
            Switch_Dependent => True,
            Switch_Name      => "Other_Linker_Options",
            Active_Phases    => (Op.Link => True, others => False),
            Default_Value    => "",
            Option_Takes_Arg => True,
            Is_Pre_Option    => True,  
            Help             => Help_Text.Other_Linker_Options),

        -- =============================================================
        --
        -- 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             => Help_Text.Remote_Parent_Library));

    --------------------------------------------------

    -- Associated file retrieval did not work correctly in the baselined RCF
    -- release Rev1_0_0.  This section will be implemented after the
    -- maintanence release is available.
    --
    Null_File_List : Op.Associated_File_List (1 .. 0);

    Associated_File_List : constant Op.Associated_File_List :=
       (
        -- Retrieve the executable image after linking.
        --
        Op.Build (For_Target                     => T_Name,
                   The_File_Type                 => Op.Binary,
                   The_Retrieve_Condition        => Op.On_Normal,
                   Retrieve_Phase                => Op.Link,
                   Option_Dependent              => False,
                   Associated_Option_Switch      => "",
                   Host_Filename_Extension       => "exe",
                   Remote_Filename_Type          => Op.Ada_Name,
                   Argument_Overrides_Fixed_Name => False,
                   Fixed_Remote_Filename         => "",
                   Remote_Filename_Extension     => ""),

        -- Retrieve the "ada_source.err"
        --
        Op.Build (For_Target                    => T_Name,
                  The_File_Type                 => Op.Text,
                  The_Retrieve_Condition        => Op.Always,
                  Retrieve_Phase                => Op.Promote,
                  Option_Dependent              => True,
                  Associated_Option_Switch      => "Error_Output",
                  Host_Filename_Extension       => "err",  
                  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.Always,
                  Retrieve_Phase                => Op.Promote,
                  Option_Dependent              => True,
                  Associated_Option_Switch      => "Error_Listing",
                  Host_Filename_Extension       => "err",  
                  Remote_Filename_Type          => Op.File_Name,
                  Argument_Overrides_Fixed_Name => False,
                  Fixed_Remote_Filename         => "",
                  Remote_Filename_Extension     => "err"));

    --------------------------------------------------



    Op_Characteristics : Op.Object :=
       Op.Build  
          (Properties => Compiler_Properties,
           Max_Filename_Length => 31,         --[?]
           Full_Pathname_Length => 255,        --[?]

           Spec_Filename_Extension => "a",
           Body_Filename_Extension => "a",

           Extension_Separator => ".",


           Directory_Separator => Sparc_Strings.Directory_Separator,
           Directory_Prefix => "",
           Directory_Suffix => "",
           Directory_Unit_Separator => Sparc_Strings.Directory_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;