DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦c57e78ccd⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Target_Dependent_Interface, pragma Module_Name 4 4148, seg_01b20f

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Directory;
with Profile;
package Target_Dependent_Interface is
    -- This contains functions that return the values for customized
    -- attributes of the RCI. Any functionality provided by the package
    -- can also be derived by using the package on "!targets.implementation.
    -- rci_customization_interface" but this package provides a
    -- simpler interface.

    type Retrieve_Condition is (On_Normal, On_Error, On_Warning, Always);
    -- Condition returned by a previous phase.

    type Compilation_Phase is (Assemble, Promote, Demote, Bind, Link);
    type Phase_Map is array (Compilation_Phase) of Boolean;
    -- Values of this type denote the status of a phase eg: promote,link
    -- etc.. This can be used during associated file retrieval to decide
    -- whether to retriev associated files or not

    type Suffix_Type is (Ada_Spec, Ada_Body, Secondary, Unknown);
    -- Suffix type secondary is not supported

    --| REMOTE DIRECTORY NAMING |--

    function Max_Directory_Name_Length (Target_Key : String) return Positive;
    -- Maximum directory name length specified by the customization

    function Directory_Separator (Target_Key : String) return String;
    -- The seperator string between directory names in a full path name
    -- For eg: /a/b/c the seperator is "/" and in [a.b.c] the
    -- seperator is "."

    function Directory_Prefix (Target_Key : String) return String;
    -- The directory prefix character. For eg  [a.b.c] the
    -- prefix character is "["

    function Directory_Suffix (Target_Key : String) return String;
    -- The directory suffix character. For eg in [a.b.c] the
    -- directory suffix character is "]"

    function Concatenate (Target_Key : String;
                          Left_Directory : String;
                          Right_Directory : String) return String;
    -- Concatenates 2 directory names to form a full directory name
    -- for eg: on VMS [a.b] & c should yield [a.b.c]

    function Full_Remote_Pathname
                (Target_Key : String; Directory : String; Remote_Unit : String)
                return String;
    -- Given a directory name and a simple unit name this returns
    -- the full path name for the unit, for eg: directory "/a/b/c" &
    -- unit "d" will yield "/a/b/c/d"


    --| REMOTE UNIT NAMING |--

    function Max_Filename_Length (Target_Key : String) return Positive;
    -- Returns the maximum allowable file name length for a given
    -- target.

    function Extension_Separator (Target_Key : String) return String;
    -- Returns the character that seperates a file name and type
    -- For eg: in A.o the extension seperator is "."

    function Target_Name_Suffix
                (Target_Key : String; For_Suffix : Suffix_Type) return String;
    -- Returns the target name suffix for a particular suffix type
    -- For eg: the spec suffix for VAX VMS DEC is "_" . Thus
    -- A'spec will be A_.ada on the target.

    function Target_Name_Suffix
                (Target_Key : String; For_Object : Directory.Object)
                return String;
    -- Returns the target name suffix for a particular object after
    -- determining if it is a spec or a body.
    -- For eg: the spec suffix for VAX VMS DEC is "_" . Thus
    -- A'spec will be A_.ada on the target.

    function Get_Suffix_Type
                (Target_Key : String; For_Object : Directory.Object)
                return Suffix_Type;
    -- Returns the suffix type of a given unit . For eg: returns
    -- spec or body

    function Default_Target_Name (Target_Key : String;
                                  Host_Object : Directory.Object;
                                  Serial_Number : Positive) return String;
    -- Returns the default target name for the given host unit
    -- The name is built using all the suufix,prefix & seperator
    -- information.

    function Full_Target_Name (Target_Key : String;
                               Simple_Target_Name : String;
                               Remote_Directory : String) return String;
    -- Returns the full path name for the target unit given the
    -- target name and the remote directory.

    function Strip_Suffix (Target_Key : String; Simple_Target_Name : String)
                          return String;
    -- Strip the suffix of the given target name and return the stripped
    -- name

    function Get_Suffix (Target_Key : String;
                         Simple_Target_Name : String;
                         Include_Separator : Boolean := True) return String;
    -- Get the suffix from the given simple target name



    --| COMPILATION and LINKER COMMANDS |--

    function Compilation_Command (Target_Key : String) return String;
    -- Returns the compiler comamnd for the given target

    function Compiler_Pre_Command (Target_Key : String) return String;
    -- Returns the compiler pre_command for the given target

    function Compiler_Post_Command (Target_Key : String) return String;
    -- Returns teh compiler post_command for the given target

    function Linker_Command (Target_Key : String) return String;
    -- Returns the linker command for the given target

    function Linker_Pre_Command (Target_Key : String) return String;
    -- Returns the linker pre_command for the given target

    function Linker_Post_Command (Target_Key : String) return String;
    -- Returns the linker post command for the particular target.

    --| CONTEXT COMMAND TO SET CONTEXT TO DIRECTORY,LIBRARY |--

    function Context_Command (Target_Key : String) return String;
    -- The command to set context to a remote directory
    -- eg: cd , set def

    function Library_Command (Target_Key : String) return String;
    -- Command to set context to a target library
    -- eg : acs set library

    function Default_Program_Library_Name (Target_Key : String) return String;
    -- Returns the default program library name. This field in the
    -- customization template is currently not used by the RCI

    --| BUILD COMPILE ,LINK, CONTEXT COMMANDS |-

    function Build_Compilation_Command (Target_Key : String;
                                        Unit_Name : String;
                                        Pre_Options : String;
                                        Post_Options : String) return String;
    -- Build the complete compiler command with all  options

    function Build_Link_Command (Target_Key : String;
                                 Program_Name : String;
                                 Pre_Options : String;
                                 Post_Options : String;
                                 Output : String) return String;
    -- Build complete link comamnds with all options

    function Build_Context_Command (Target_Key : String;
                                    Remote_Directory : String;
                                    Options : String) return String;
    -- Build a context command that will set context to the specified
    -- remote directory . For eg: cd /a/b/c

    function Build_Library_Command (Target_Key : String;
                                    Remote_Directory : String;
                                    Remote_Library : String;
                                    Options : String) return String;
    -- Build a command to set context to a given library
    -- eg : "acs set library [.adalib]"

    --| OPTIONS |--

    function Option_Separator (Target_Key : String) return String;
    -- Returns the seperator between options . for eg "/" is
    -- the options seperator for VAX VMS options

    function Executable_Option (Target_Key : String) return String;
    -- Returns the executable option that is to be used with the
    -- link command. For eg: for AIX this is "-o".

    function Executable_Option_Is_Pre_Option
                (Target_Key : String) return Boolean;
    -- Returns whether the executable option is a pre_option or
    -- not. For eg: in Rs6000 AIX we have this following all
    -- the objects that are linked. So this would be false in
    -- this case.

    function Compiler_Pre_Options
                (Target_Key : String;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Return the compiler "pre_options" for a given ADA unit

    function Compiler_Post_Options
                (Target_Key : String;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Return the compiler "post_options" for a given ADA unit

    function Linker_Pre_Options
                (Target_Key : String;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Return the linker "pre_options" for a given ADA unit

    function Linker_Post_Options
                (Target_Key : String;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Return the linker "post_options" for a given ADA unit

    function Get_Pre_Options
                (Target_Key : String;
                 The_Phase : Compilation_Phase;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Returns the pre options for a specified phase . This function
    -- may be useful if there are phases other than compile or link

    function Get_Post_Options
                (Target_Key : String;
                 The_Phase : Compilation_Phase;
                 Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String;
    -- Returns the post options for a specified phase . This function
    -- may be useful if there are phases other than compile or link

    function Get_Operation_Mode (Target_Key : String) return String;
    -- Returns the strings "batch" or "interactive" depending
    -- on whether the current customization has operation mode batch
    -- or interactive.

    function Get_Generate_Batch_Compile_Commands
                (Target_Key : String) return Boolean;
    -- Return true if customization has specified default generation
    -- of batch compile commands.

    function Get_Run_Script_Command (Target_Key : String) return String;
    -- Returns the command that will be used to run the batch script

    pragma Module_Name (4, 4148);
    pragma Bias_Key (32);
end Target_Dependent_Interface;

E3 Meta Data

    nblk1=b
    nid=0
    hdr6=16
        [0x00] rec0=17 rec1=00 rec2=01 rec3=040
        [0x01] rec0=16 rec1=00 rec2=02 rec3=03e
        [0x02] rec0=18 rec1=00 rec2=03 rec3=018
        [0x03] rec0=17 rec1=00 rec2=04 rec3=02a
        [0x04] rec0=18 rec1=00 rec2=05 rec3=016
        [0x05] rec0=18 rec1=00 rec2=06 rec3=04e
        [0x06] rec0=14 rec1=00 rec2=07 rec3=048
        [0x07] rec0=16 rec1=00 rec2=08 rec3=03c
        [0x08] rec0=17 rec1=00 rec2=09 rec3=02a
        [0x09] rec0=16 rec1=00 rec2=0a rec3=038
        [0x0a] rec0=12 rec1=00 rec2=0b rec3=000
    tail 0x217189e7483637b30625d 0x42a00088462060003