2016-12-24 19:58:55 +00:00
|
|
|
.Dd December 24, 2016
|
|
|
|
.Dt WDCLIB 1
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm wdclib
|
2016-12-29 20:32:47 +00:00
|
|
|
.Nd WDC librarian
|
2016-12-24 19:58:55 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Op Fl F Ar argfile
|
|
|
|
.Op Fl A | D | L | S | X
|
|
|
|
.Ar library
|
|
|
|
.Op Ar objfile ...
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
.Nm
|
|
|
|
is a utility program that manipulates libraries of object modules.
|
|
|
|
.Nm
|
|
|
|
makes it possible to create a library of commonly used functions. This
|
|
|
|
library can be very efficiently searched and any modules required by the
|
|
|
|
program can be extracted from the library and placed in the output file.
|
|
|
|
.Pp
|
|
|
|
Since several object
|
|
|
|
modules may be contained in the same original source file,
|
|
|
|
.Nm
|
|
|
|
keeps track of the name of the file that each module comes from.
|
|
|
|
This allows all the modules associated with a file to be manipulated
|
|
|
|
without tediously typing in the name of each module. Options may be
|
|
|
|
specified individually or together.
|
|
|
|
.Sh OPTIONS
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl A
|
|
|
|
This option tells
|
|
|
|
.Nm
|
|
|
|
to add the specified files to the library. The symbol dictionary is updated
|
|
|
|
to include the names of symbols defined in the object modules in the files.
|
|
|
|
If none of the options
|
|
|
|
.Fl A , D ,
|
|
|
|
or
|
|
|
|
.Fl X
|
|
|
|
are given, the default is to assume option
|
|
|
|
.Fl A .
|
|
|
|
To create a library from a set of object files, use the command:
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl A Ar MYLIB.LIB Ar LIBSRC1.OBJ Ar LIBSRC2.OBJ Ar LIBSRC3.OBJ
|
2016-12-24 19:58:55 +00:00
|
|
|
.Pp
|
|
|
|
which will create a library file called
|
|
|
|
.Ar MYLIB.LIB
|
|
|
|
and add all the modules
|
|
|
|
from the three object files. If
|
|
|
|
.Ar MYLIB.LIB
|
|
|
|
already existed, the modules
|
|
|
|
from the three object files will be added to the library.
|
|
|
|
.It Fl D
|
|
|
|
The modules in the library that originally came from the named files are
|
|
|
|
deleted from the library. Modules must be deleted before being replaced
|
|
|
|
with new ones.
|
|
|
|
.Pp
|
|
|
|
The following example shows how to remove the modules associated with an
|
|
|
|
object file.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl D Ar MYLIB.LIB Ar LIBSRC3.OBJ
|
2016-12-24 19:58:55 +00:00
|
|
|
.Pp
|
|
|
|
All of the modules associated with the file
|
|
|
|
.Ar LIBSRC3.OBJ
|
|
|
|
will be deleted from the library.
|
|
|
|
.Pp
|
|
|
|
This example shows how to replace a file in a library.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl D Ar MYLIB.LIB Ar LIBSRC2.OBJ
|
|
|
|
.Dl Nm Fl A Ar MYLIB.LIB Ar LIBSRC2.OBJ
|
2016-12-24 19:58:55 +00:00
|
|
|
.Pp
|
|
|
|
The modules associated with
|
|
|
|
.Ar LIBSRC2.OBJ
|
|
|
|
will first be deleted from the library and then added from the new version
|
|
|
|
of the file. The following options display information about the library
|
|
|
|
file after the modification arguments, if any, have been processed.
|
|
|
|
.It Fl F
|
|
|
|
This option must be followed by the name of a text file. The file will be
|
|
|
|
read and arguments will be extracted from the file. When the end of file
|
|
|
|
is reached, additional arguments are again extracted from the command
|
|
|
|
line. This allows more object modules than will fit on the standard command
|
|
|
|
line to be processed at one time.
|
|
|
|
.Pp
|
|
|
|
For example, these commands add all files with a
|
|
|
|
.Ar .OBJ
|
|
|
|
extension to the library.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm DIR Ar *.OBJ > Pa OBJLIST
|
|
|
|
.Dl Nm Fl A Ar MYLIB.LIB Fl F Ar OBJLIST
|
2016-12-24 19:58:55 +00:00
|
|
|
.It Fl L
|
|
|
|
This option causes a list of the files in the library to be printed.
|
|
|
|
Associated with each file name is a file number. This number will also
|
|
|
|
appear in the symbol listing which indicates which file contains the
|
|
|
|
module that defines that symbol. This command will display the names
|
|
|
|
of all files added to a library.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl L Ar MYLIB.LIB
|
2016-12-24 19:58:55 +00:00
|
|
|
.Pp
|
|
|
|
This command adds two files to the library.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl AL Ar MYLIB.LIB Ar LIBSRC1.OBJ Ar LIBSRC2.OBJ
|
2016-12-24 19:58:55 +00:00
|
|
|
.Pp
|
|
|
|
After the files are added, a list of all the files in the library will
|
|
|
|
be printed.
|
|
|
|
.It Fl S
|
|
|
|
This option causes the dictionary of symbols contained in the library to
|
|
|
|
be printed. The dictionary is printed in alphabetical order. The number
|
|
|
|
of the file that defined the symbol along with the offset into the
|
|
|
|
library of the module that defined it are printed beside the symbol name.
|
|
|
|
.It Fl X
|
|
|
|
The modules in the library that originally came from the named files
|
|
|
|
are extracted from the library and placed into files with the same
|
|
|
|
name. After extraction, the modules in the library are deleted.
|
|
|
|
.Pp
|
|
|
|
The following example extracts two files from a library.
|
|
|
|
.Pp
|
2016-12-29 21:12:23 +00:00
|
|
|
.Dl Nm Fl X Ar MYLIB.LIB Ar LIBSRC3.OBJ Ar LIBSRC1.OBJ
|
2016-12-29 20:32:47 +00:00
|
|
|
.El
|
2016-12-28 18:09:26 +00:00
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr wdc02as 1 ,
|
|
|
|
.Xr wdc02cc 1 ,
|
|
|
|
.Xr wdc02op 1 ,
|
|
|
|
.Xr wdc816as 1 ,
|
|
|
|
.Xr wdc816cc 1 ,
|
|
|
|
.Xr wdc816op 1 ,
|
|
|
|
.Xr wdcdb 1 ,
|
|
|
|
.Xr wdcln 1 ,
|
|
|
|
.\" .Xr wdclib 1 ,
|
|
|
|
.Xr wdcobj 1 ,
|
|
|
|
.Xr wdcsym 1
|