|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.