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: ┃ T V

⟦8452d5b90⟧ TextFile

    Length: 10062 (0x274e)
    Types: TextFile
    Names: »V«

Derivation

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

TextFile

with Directory;  
with Remote_Command_Interface;  
with Simple_Status;
with Target_Dependent_Interface;

package Compilation_Extensions is
    -- Contains the procedures that are to be invoked by the RCI as
    -- compilation extensions.

    procedure Promote_Preprocess
                 (Host_Unit         :        Directory.Object;
                  Remote_Unit_Name  :        String;
                  Remote_Library    :        String;
                  Remote_Machine    :        String;
                  Remote_Directory  :        String;
                  Pre_Options       :        String;
                  Post_Options      :        String;
                  Options_Separator :        String;  
                  Remote_Connection :        Remote_Command_Interface.Context;
                  Is_Secondary      :        Boolean;
                  Status            : in out Simple_Status.Condition);

    -- Called during PROMOTE before executing the remote compilation
    -- command. The sequence is described below :-
    --    Promote
    --      Execute_Compile
    --         Acquire remote connection, set remote context, download files..
    --         Promote_Preprocess
    --         Execute remote command ...
    --         Promote_Postprocess
    --
    -- The "Is_Secondary" flag: indicates if the given host unit is a secondary
    -- referencer. If an ADA primary has several secondary referencers then
    -- this procedure is called once for each of the secondary referencers.
    -- This hook provides a way for users to implement remote compilation
    -- themselves.


    procedure Promote_Postprocess
                 (Host_Unit         :        Directory.Object;
                  Remote_Unit_Name  :        String;
                  Remote_Library    :        String;
                  Remote_Machine    :        String;
                  Remote_Directory  :        String;
                  Pre_Options       :        String;
                  Post_Options      :        String;
                  Options_Separator :        String;  
                  Remote_Connection :        Remote_Command_Interface.Context;
                  Is_Secondary      :        Boolean;
                  Status            : in out Simple_Status.Condition);

    -- Called during PROMOTE after execution of a remote compilation
    -- command. The sequence is described below :-
    --    Promote
    --      Execute_Compile
    --        Acquire remote connection, set remote context, download files..
    --        Promote_Preprocess
    --        Execute remote command ...
    --        Promote_Postprocess
    --
    -- The "Is_Secondary" flag: indicates if the given host unit is a secondary
    -- referencer.  If an ADA primary has several secondary referencers then
    -- this procedure is called once for each of the secondary referencers.
    -- This hook provides a way for users to implement remote compilation
    -- themselves.


    procedure Demote_Preprocess (Host_Unit : Directory.Object;
                                 Remote_Unit_Name : String;
                                 Remote_Library : String;
                                 Remote_Machine : String;
                                 Remote_Directory : String;
                                 Status : in out Simple_Status.Condition);

    -- Called during DEMOTE before the call to destroy the associated files.
    -- The sequence is :-
    --   Demote
    --      Set context ...
    --      Demote_Preprocess
    --      Destroy associated files..
    --      Demote_Postprocess
    --      Restore context...


    procedure Demote_Postprocess (Host_Unit : Directory.Object;
                                  Remote_Unit_Name : String;
                                  Remote_Library : String;
                                  Remote_Machine : String;
                                  Remote_Directory : String;
                                  Status : in out Simple_Status.Condition);

    -- Called during DEMOTE before the call to destroy the associated files.
    -- The sequence is :-
    --   Demote
    --      Set context ...
    --      Demote_Preprocess
    --      Destroy associated files..
    --      Demote_Postprocess
    --      Restore context...


    procedure Retrieve_Associated_Files_Preprocess
                 (Host_Unit              : Directory.Object;  
                  Remote_Unit_Name       : String;
                  Remote_Library         : String;
                  Remote_Machine         : String;
                  Remote_Directory       : String;  
                  Remote_Connection      : Remote_Command_Interface.Context;
                  The_Retrieve_Condition :
                     Target_Dependent_Interface.Retrieve_Condition;
                  Phases                 : Target_Dependent_Interface.Phase_Map;
                  Status                 : in out Simple_Status.Condition);

    -- Called before the RCF begins retrieving (after deleting any old
    -- ones) the standard associated files (ie: the associated files described
    -- thru the customization).
    --
    -- The sequence is :-
    --      Phase command (eg: Compile, Link, etc.)
    --        Destroy_And_Retrieve (Associated Files)
    --           Retrieve_Associated_Files_Preprocess
    --           Destroy, retrieve associated files..
    --           Retrieve_Associated_Files_Postprocess
    --
    -- "The_Retrieve_Condition" indicates the status
    -- of the current phase (eg: Compile, Link, etc.).  "Phases" indicates
    -- the phase. This hook provides users with a means of retrieving
    -- any additional associated files from the remote machine.
    -- NOTE :- if "Phases" denotes DEMOTION then "Remote_Connection"
    -- has a null value.


    procedure Retrieve_Associated_Files_Postprocess
                 (Host_Unit              : Directory.Object;  
                  Remote_Unit_Name       : String;
                  Remote_Library         : String;
                  Remote_Machine         : String;
                  Remote_Directory       : String;
                  Remote_Connection      : Remote_Command_Interface.Context;
                  The_Retrieve_Condition :
                     Target_Dependent_Interface.Retrieve_Condition;
                  Phases                 : Target_Dependent_Interface.Phase_Map;
                  Status                 : in out Simple_Status.Condition);

    -- Called after the RCF has retrieved the standard associated files
    -- (ie: the associated files described thru customization).
    -- The sequence is :-
    --      Phase command (eg: Compile, Link, etc.)
    --        Destroy_And_Retrieve (Associated Files)
    --           Retrieve_Associated_Files_Preprocess
    --           Destroy, retrieve associated files..
    --           Retrieve_Associated_Files_Postprocess
    --
    -- "The_Retrieve_Condition" indicates the status of the
    -- current phase (eg: Compile, Link, etc.).  "Phases" indicates
    -- the current phase. This hook provides users with a means of
    -- retrieving any additional associated files from the remote machine.


    function Build_Default_Target_Name
                (Host_Unit     : Directory.Object;
                 Suffix_Type   : Target_Dependent_Interface.Suffix_Type;
                 Serial_Number : Positive) return String;

    -- Called by the RCF when it wants to set the default target name for
    -- a given ADA unit.  If this function returns a "" value
    -- for "Default_Target_Name" then the RCF will use its own
    -- procedure (driven by the customization) to build a target name.
    --
    -- The sequence is :-
    --       Default_Target_Name
    --           declare
    --              Default_Name : constant String := Build_Default_Target_Name
    --           begin
    --             if Default_Name /= "" then
    --                return Default_Name
    --             endif
    --           end
    --           Proceed to build the name from customization information
    --
    -- "Suffix_Type" indicates if the given host unit is a spec, body
    -- or simply a file.  "Serial_Number" is a unique number assigned
    -- to the "Host_Unit" when it was added to the library.  It could
    -- be used in target name generation.
    -- This hook provides users with a way of changing the target names
    -- associated with host Ada names.


    procedure Change_Remote_Context_Preprocess
                 (Remote_Directory  :        String;
                  Remote_Library    :        String;
                  Remote_Connection :        Remote_Command_Interface.Context;
                  Status            : in out Simple_Status.Condition);

    -- Called by RCF compilation commands before they change the remote
    -- directory.
    --
    -- The sequence is :-
    --        Compilation or linker command
    --           Execute_Context_Change
    --               Change_Remote_Context_Preprocess
    --               Execute remote command to change context
    --               Change_Remote_Context_Postprocess
    -- This hook provides users with an opportunity to do something in the
    -- remote directory before the context is changed.


    procedure Change_Remote_Context_Postprocess
                 (Remote_Directory  :        String;
                  Remote_Library    :        String;
                  Remote_Connection :        Remote_Command_Interface.Context;
                  Status            : in out Simple_Status.Condition);

    -- Called by the RCF after it has switched to a new remote directory
    -- (and library).
    -- The sequence is :-
    --        Compilation or linker command
    --           Execute_Context_Change
    --               Change_Remote_Context_Preprocess
    --               Execute remote command to change context
    --               Change_Remote_Context_Postprocess
    -- This hook provides the user with an opportunity
    -- to do something within the new context.

end Compilation_Extensions;