File:  [CSRG BSD Unix] / 3BSD / cmd / apl / documents / libr.doc
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:53 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, CSRG
CVS tags: HEAD, BSD3
BSD 3.0

.tl 'LIBR(I)'12/17/75'LIBR(I)'
NAME
	libr	- fortran librarian

SYNOPSIS
	libr libfile -k1 n11 n12 ... n1k  ... -kn ...

DESCRIPTION

	LIBR is a program to build and maintain libraries of object modules
to be used with LINK.  An object module in a library is included in the out file
iff it satisfies an undefined reference at the time it is encountered.  (With some
exceptions for -i: and -e: )  Therefore,  the order of modules in a library is
important.

	All commands except append (-a ) require that the file designated 'libfile'
already exit.  The append command will create the library file if it does
not exist.  The action of LIBR is governed by the keybytes,  which are
interpreted in left-to-right order.  The entire command line is checked for
correctness,  and then executed.

	In a library,  all modules are identifies by their module name.
Assembly language programs get their module name from a .title directive.
In fortran subprograms the module name is the name of the subroutine declared
in it.

	There are no default extensions.

	The keybytes are:

	-l
.in 20
list the contents of the library as it will appear at the completion
of the LIBR command
.in 0

	-g mod syms
.in 20
As noted above,  a module is included into an outfile from a library only if
it 'declares' a yet-undefined global symbol. Initially,  a module declares
all those global symbols which are assigned values within it.  
The -g command allows one  to eliminate declarations from a module.
.in 0

	-d mods
.in 20
delete the named modules from the library

.in 0
	-i mod files
.in 20
place the modules in the named files into the library before the
given module.

.in 0
	-r files
.in 20
Replace the modules in the library with those in the files having the
same module name.

.in 0
	-a files
.in 20
Append the modules in the named files to the library.  Create the library if it does
not exist.

.in 0
	-c
.in 20
Generate a cross-reference



.in 0
EXAMPLE
	A fortran user wants to create a library of six graphics
subroutines in the object files graph1.obj ... graph6.obj.
First,  a library is created:
	libr graphlib -a graph1.obj ... graph6.obj

If, later,  it is necessary to replace one of the subroutines,  say #4,
this can be done as:
	libr graphlib -r graph4.obj

FILES
	libr1.tmp	- scratch file

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.