|
|
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: T V
Length: 10423 (0x28b7)
Types: TextFile
Names: »V«
└─⟦5829e5ed5⟧ Bits:30000534 8mm tape, Rational 1000, RCI 2_0_5
└─⟦c9a165082⟧ »DATA«
└─⟦c3895f76e⟧
└─⟦this⟧
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;