RVDE7

VDE
VDE
Reference Manual



 n
Previous[ Contents] Index




Q

Chapter 2
VDE Commands Invoked from DCL







D

VDE



<The OpenVMS Development Environment (VDE) Utility is a tool Athat software developers can use to manage software development. 4VDE uses a relational database to store development Hinformation about your software system and to manage multiple instances ;of that system. VDE also manages the disk directories, CMS Glibraries, and files that comprise your software system. In managing a 9software system, VDE can perform the following functions:

3VDE includes extensive built-in HELP. At the VDEä, Etype "HELP". An extensive documentation set, in Bookreader *and Postscript formats, is also available.




Format

.

VDE [vde-command [; vde-command...]]




Parameter



vde-command

1A VDE command to be performed. The available VDE lcommands are described in Chapter 3. You can specify multiple 4VDE commands if you separate them by semicolons (;).

<This parameter is optional; it you omit it, VDE prompts you for commands.




Description

3The VDE command invokes the VDE utility and allows 1you to enter VDE subcommands. Specifying the VDE ;command with specific qualifiers enables you to modify the =VDE environment or invoke separate programs that are part of the VDE system.

4To invoke the VDE utility, enter the VDE command at @the DCL prompt ($). The system responds with the prompt for the VDE utility (VDEä). For example:

 

"
$ VDEVDEä




5At the VDEä prompt, you can enter VDE subcommands to =perform VDE functions. For simplicity, these subcommands are <referred to as "VDE commands" in the rest of this description.9To exit from VDE, enter the EXIT command or press CTRL/Z.

;The following example shows how to enter VDE commands from within the utility:

 

"
$ VDEVDEä SHOW LIBRARY5Main library LIBNAME in root directory DEV$:[PROJDIR]	VDEä EXIT$




4You can also enter VDE commands directly on the VDE 8command line. In this case, VDE does not prompt you for 9commands. The following example shows how to enter a VDE "command from the DCL command line:

 

"
$ VDE SHOW LIBRARY5Main library LIBNAME in root directory DEV$:[PROJDIR]$




DYou can also enter the following commands from the DCL command line ;(either interactively or from within a coded file called a ="VDE script") to invoke separate programs that are part of the VDE system:



8These commands are described separately in this chapter.

2To use VDE, you must specify the VDE library that 7you want to use. The VDE library for a software system >consists of a root directory, a VDE database residing in that Froot directory, and a directory tree that contains all CMS libraries, Esource files, and other files that make up your software system. You 6specify the VDE library you want to use by giving the Adirectory specification for the library root directory. The root Fdirectory contains the database and the database contains pointers to /all other directories that make up the library.

;Unless you are creating a new VDE library, you can specify Hthe library using any of three methods. First, you can define a logical 6name VDE$LIBRARY to give the library's root directory.=If you use the same VDE library most of the time, you should Hdefine VDE$LIBRARY in your login file. Second, you can use the /LIBRARY =qualifier to the VDE command to specify the library mnemonic >or root directory. And third, you can use the VDE SET LIBRARY Gcommand to specify the mnemonic or root directory. You must use one of /these three methods to specify the VDE library.




Qualifiers



/INTERFACE=keyword

=The /INTERFACE qualifier allows the user to select a keyword ;representing the prefered user interface presented by VDE. 4With the VDE/INTERFACE=DECWINDOWS keyword, the Motif, graphical user interface is used. With the ? VDE/INTERFACE=CHARACTER_CELL keyword, the traditional command  interface is used.

/KEPT_PROCESS

"

/NOKEPT_PROCESS (default)

;Specifies whether VDE runs with or without creating a kept =process. /KEPT_PROCESS specifies that the VDE utility should Erun in a kept subprocess that is retained from one invocation of the 9VDE command to the next. Use of a kept subprocess allows 1VDE to connect to the VDE database once for many <invocations of VDE, thus speeding up subsequent accesses to >the database. It also allows VDE to retain state information, >such as the default stream and facility, between invocations. 5/NOKEPT_PROCESS specifies that VDE not run in a kept subprocess.

EDo not attempt to use the DCL ATTACH command to attach to a VDE or VSC kept process.

/LIBRARY=directory-spec

9Specifies the mnemonic name or root directory of the VDE 4library with which you want to work. Subsequent VDE Aoperations will access the database associated with that library.>

/DEPEND lang ana-file [in-out-file [,in-out-file...]]

>The /DEPEND qualifier causes VDE to invoke a separate program >that automatically collects build dependency information. The :VDE/DEPEND combination is described as a separate command later in this chapter.

/READ_UAF

8The /READ_UAF qualifier causes VDE to invoke a separate =program used to update the User Table in a VDE database from =information in the system user authorization file (UAF). The <VDE/READ_UAF combination is described as a separate command later in this chapter.



Examples

 6    
#1

 
#$ DEFINE VDE$LIBRARY DEV$:[PROJDIR]$ VDEVDEä SHOW LIBRARY5Main library LIBNAME in root directory DEV$:[PROJDIR]VDEä SHOW STREAM V2.1-14Stream V2.1-1          "First update to version 2.1"	VDEä HELP...help text displayed...	VDEä EXIT$      


AThis example defines logical name VDE$LIBRARY to specify the root9directory of the VDE library you want to work with. This 9directory contains the VDE database for the library. The 1VDE command entered from DCL then gives the VDEä >prompt. You can now enter VDE commands, in this case the SHOW <LIBRARY and SHOW STREAM commands. The EXIT command ends the 2VDE session and returns you to the DCL prompt ($).

 6    
#2

 
&$ VDE SHOW LIBRARY; SHOW STREAM V2.1-15Main library LIBNAME in root directory DEV$:[PROJDIR]4Stream V2.1-1          "First update to version 2.1"$      


<This example shows two VDE commands entered directly on the >DCL-level VDE command line. Both commands are executed, after :which VDE exits and returns you to the DCL prompt ($). In 9this case, VDE does not prompt for commands. The example Hassumes that logical name VDE$LIBRARY has already been defined, perhaps in the user's login file.

 6    
#3

 
$ VDE/LIBRARY=DEV$:[ROOTDIR]VDEä SHOW LIBRARY0Library LIBNAME in root directory DEV$:[ROOTDIR]	VDEä EXIT$      


@In this example, the /LIBRARY qualifier specifies that the root >directory for the VDE library is DEV$:[ROOTDIR]. Entering the :SHOW LIBRARY command at the VDE prompt confirms that this library has been set.

 6    
#4

 
$ VDEVDEä SET LIBRARY DEV$:[ROOTDIR]VDEä SHOW LIBRARY0Library LIBNAME in root directory DEV$:[ROOTDIR]	VDEä EXIT$      


HThis example uses the SET LIBRARY command to specify the root directory =of the VDE library to use. The SHOW LIBRARY command confirms that this library has been set.


J

VDE/DEPEND



?Invokes a program that automatically collects build dependency Einformation from a compiler-generated analysis file to determine the #inputs and outputs of a build step.

FThis command should only be invoked in DCL command procedures 8created from VDE scripts to perform build steps. Do not 3attempt to run this program interactively.




Format

=

VDE/DEPEND lang ana-file [in-out-file [,in-out-file...]] 




Parameters

lang

BThe name of the language processor that generated the Source Code GAnalyzer analysis file. This is a required parameter. Keywords for the -supported language processors are as follows: " -                                                                                              
Keyword Language Processor
ADA  Ada compiler
B32  Bliss compiler
 C  C compiler
DML & DBMS preprocessors for compilers
FOR  Fortran compiler
MAR  Macro assembler
NOANA & No analysis file given (only the7 in-out-file parameters are used)
PLI  PLI compiler
PAS  Pascal compiler
RBA ! RDML preprocessor for BASIC
RBL ! RDML preprocessor for Bliss
 RC  RDML preprocessor for C
RCO ! RDML preprocessor for COBOL
RFO # RDML preprocessor for FORTRAN
RPA " RDML preprocessor for Pascal
REQ  Bliss library compilation
 SC  SQL preprocessor for C
SCO SQL preprocessor for COBOL
SFO " SQL preprocessor for FORTRAN
SPA ! SQL preprocessor for Pascal
SPL  SQL preprocessor for PL/I
SQLADA  SQL preprocessor for Ada
SQLMOD  SQL module language


ana-file

GThe file specification for the analysis file containing the dependency Hinformation. This is a required parameter. If the lang Hparameter is NOANA, specify two double quotes ("") to indicate that the ,ana-file parameter is null.

in-out-file

EA file specification that specifies an input file or output file for Ethe build step. The file specification can be followed by the /INPUT Fqualifier to indicate that the file is an input to the step or by the F/OUTPUT qualifier to indicate that the file is an output of the step. FIf neither qualifier is specified, the file is assumed to be an input Gfile. This parameter is used to record input and output files that are Hnot specified in the analysis file or that are not correctly classified ?as inputs or outputs from the information in the analysis file.



Description

7The VDE/DEPEND command invokes a separate program that ;automatically collects build dependency information from a Acompiler-generated Source Code Analyzer (SCA) analysis file. The ;VDE/DEPEND command is used in command procedures generated >from VDE scripts to compile source modules. The program reads Athe analysis (.ANA) file along with information specified on the Gcommand line to determine all input and output modules for the current <build step. This information is written to the VDE database )if the build step completes successfully.

>The analysis file specifies all input and output files of the Ccompilation but does not indicate which files are inputs and which :files are outputs. VDE/DEPEND therefore requires that you Especify the language that was compiled so that the program can guess Gwhich files are inputs and which are outputs based on file types. As a Hresult, it is important that you use the standard file types for all of your compilations.

=Because the analysis file and command line supply VDE/DEPEND 9with a list of file names, VDE must translate those file 7names into VDE module names before it can record build 5dependencies in its database. To do so, VDE uses the following rules:



GAs a result of these rules, it is important that each source module or Hderived module be stored somewhere in the directory tree for the stream Hyou are building and, within that stream, for the facility to which the Bmodule belongs. This is a constraint that your scripts must obey; Ewithin that constraint, scripts are free to place files anywhere you want.




Examples

 6    
#1

 
)$ DEFINE SRC$ DEV$:[ROOTLIB.MAIN.FAC.SRC])$ DEFINE OBJ$ DEV$:[ROOTLIB.MAIN.FAC.OBJ]#$ VDE FETCH [FAC]FOO.C/OUTPUT=SRC$:$$ CC/ANA=OBJ$:/OBJ=OBJ$:  SRC$:FOO.C$ VDE/DEPEND C OBJ$:FOO.ANA       


<This example shows the lines generated from a VDE script to Hcompile module FOO.C. The first two lines define logical names SRC$ and GOBJ$ to point to the source and object directories for stream MAIN and <facility FAC within the VDE library. The third line fetches 9source module FOO.C from the VDE library into the source Hdirectory. The next line runs the C compiler, compiling module FOO.C to Eproduce an object file FOO.OBJ and an SCA analysis file FOO.ANA. The ;last line runs VDE/DEPEND to read that analysis file. From =information in the analysis file, VDE/DEPEND determines what Ainput files were used and what output files were produced by the 8compilation. This information will be passed to VDE for inclusion in the VDE database.

 6    
#2

 
<$ VDE/DEPEND REQ OBJDIR:LIBDEF.ANA OBJDIR:LIBDEF.L32/OUTPUT       


:When the command procedure containing this line executes, <VDE/DEPEND will read the analysis file OBJDIR:LIBDEF.ANA to Gdetermine the input and output modules of a Bliss library compilation. CBecause a Bliss library compilation produces one .L32 module as an 4output and may use many .L32 modules as inputs, the >VDE/DEPEND command line must specify which .L32 module is the Bone output. This is done by specifying OBJDIR:LIBDEF.L32 with the C/OUTPUT qualifier at the end of the command. This is an example of Husing an in-out-file parameter to override the default Eassumption that a module of that type is an input to the compilation.

 6    
#3

 
A$ VDE/DEPEND NOANA "" SRCDIR:FOO.MSG/INPUT,OBJDIR:FOO.EXE/OUTPUT       


9This example shows how VDE/DEPEND can be used to specify Ainput and output modules when no analysis file is available. The Emessage compiler does not produce an analysis file. For this reason, Hthe command uses the NOANA keyword and specifies the null string as the ?analysis file parameter. The actual input and output files are Fspecified by a list of in-out-file parameters at the end of the command.


J

VDE/READ_UAF



=Updates the User Table in a VDE database from information in ,the system user authorization file (SYSUAF).



Format

"

VDE/READ_UAF[/WRITE_UAF]




Description

9The VDE/READ_UAF command invokes a separate program that =updates the User Table in a VDE database from information in ,the system user authorization file (SYSUAF).>For each user recorded in the VDE database, the program looks Gup that user in the UAF to determine the user's full name from the UAF =owner field. That name is then stored in the VDE database if Bnot already there. The program also determines whether the user's Eaccount is still valid. If not, the user is marked as deleted in the =VDE database so that the database is no longer accessible to that user.

4The VDE/READ_UAF command also supports a /WRITE_UAF :qualifier. Specification of VDE/READ_UAF/WRITE_UAF causes 2VDE to update the process quota values of all VDE 4users in the System Authorization Database (SYSUAF).:Any process quotas below the minimum VDE requirements are Hincreased, but quotas above the minimum are not altered. The /WRITE_UAF Gqualifier is valid only when specified with /READ_UAF, and it requires -read and write access to the SYSUAF database.

=VDE/READ_UAF can be run at regular intervals to maintain the 6VDE database so it stays synchronized with the system Gauthorization database. This way, you do not have to manually maintain :the VDE User Table with the CREATE USER, MODIFY USER, and :DELETE USER commands. Specification of the the target VDE Flibrary is required via the /LIBRARY qualifier on the command, or via the logical name VDE$LIBRARY.

5To use this command, you must have read access to theF SYSUAF system authorization file. Access to the system authorization 5 file can be granted via OpenVMS an privilege such asH READALL or BYPASS, via an ACL on the SYSUAF file, or via various other 3 means. Contact your system manager for assistance.

M:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,==


Qualifiers



/DELETE

3The /DELETE qualifier causes VDE to delete any VDE Cusernames that are not also found in SYSUAF. This is not generally Adesirable, and can potentially lead to problems should SYSUAF be misdirected.

/WRITE_UAF

:The /WRITE_UAF qualifier causes VDE to update any process Equotas stored in the SYSUAF file that are below the required minimum Asettings to the minumum settings. Quota values above the minimum settings are not altered.
M:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,=:=,==


Example

 #    

 
$ SET PROCESS/PRIVILEGE=BYPASS1$ VDE/READ_UAF/WRITE_UAF/LIBRARY=DEV$:[VDELIBDIR] $ SET PROCESS/PRIVILEGE=NOBYPASS      


EThe first command sets the OpenVMS privilege BYPASS, which overrides Aall protections on the system authorization database. The second ,command runs VDE/READ_UAF to update the VDE Hdatabase from the user authorization file, and the system authorization :database process quotas from the list of users in the VDE Bdatabase. The final line removes the BYPASS privilege to clean up.






 n
PreviousX Next[ Contents] Index