Annotation of 41BSD/cmd/apl/documents/libr.doc, revision 1.1.1.1

1.1       root        1: .tl 'LIBR(I)'12/17/75'LIBR(I)'
                      2: NAME
                      3:        libr    - fortran librarian
                      4: 
                      5: SYNOPSIS
                      6:        libr libfile -k1 n11 n12 ... n1k  ... -kn ...
                      7: 
                      8: DESCRIPTION
                      9: 
                     10:        LIBR is a program to build and maintain libraries of object modules
                     11: to be used with LINK.  An object module in a library is included in the out file
                     12: iff it satisfies an undefined reference at the time it is encountered.  (With some
                     13: exceptions for -i: and -e: )  Therefore,  the order of modules in a library is
                     14: important.
                     15: 
                     16:        All commands except append (-a ) require that the file designated 'libfile'
                     17: already exit.  The append command will create the library file if it does
                     18: not exist.  The action of LIBR is governed by the keybytes,  which are
                     19: interpreted in left-to-right order.  The entire command line is checked for
                     20: correctness,  and then executed.
                     21: 
                     22:        In a library,  all modules are identifies by their module name.
                     23: Assembly language programs get their module name from a .title directive.
                     24: In fortran subprograms the module name is the name of the subroutine declared
                     25: in it.
                     26: 
                     27:        There are no default extensions.
                     28: 
                     29:        The keybytes are:
                     30: 
                     31:        -l
                     32: .in 20
                     33: list the contents of the library as it will appear at the completion
                     34: of the LIBR command
                     35: .in 0
                     36: 
                     37:        -g mod syms
                     38: .in 20
                     39: As noted above,  a module is included into an outfile from a library only if
                     40: it 'declares' a yet-undefined global symbol. Initially,  a module declares
                     41: all those global symbols which are assigned values within it.  
                     42: The -g command allows one  to eliminate declarations from a module.
                     43: .in 0
                     44: 
                     45:        -d mods
                     46: .in 20
                     47: delete the named modules from the library
                     48: 
                     49: .in 0
                     50:        -i mod files
                     51: .in 20
                     52: place the modules in the named files into the library before the
                     53: given module.
                     54: 
                     55: .in 0
                     56:        -r files
                     57: .in 20
                     58: Replace the modules in the library with those in the files having the
                     59: same module name.
                     60: 
                     61: .in 0
                     62:        -a files
                     63: .in 20
                     64: Append the modules in the named files to the library.  Create the library if it does
                     65: not exist.
                     66: 
                     67: .in 0
                     68:        -c
                     69: .in 20
                     70: Generate a cross-reference
                     71: 
                     72: 
                     73: 
                     74: .in 0
                     75: EXAMPLE
                     76:        A fortran user wants to create a library of six graphics
                     77: subroutines in the object files graph1.obj ... graph6.obj.
                     78: First,  a library is created:
                     79:        libr graphlib -a graph1.obj ... graph6.obj
                     80: 
                     81: If, later,  it is necessary to replace one of the subroutines,  say #4,
                     82: this can be done as:
                     83:        libr graphlib -r graph4.obj
                     84: 
                     85: FILES
                     86:        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.