Annotation of 43BSDTahoe/new/help/src/f77/biglibs, revision 1.1

1.1     ! root        1: .TI F77/BIGLIBS "Sep. 15, 1984"
        !             2: Techniques for Creating Large User Libraries
        !             3: 
        !             4: If you have a large library, it saves space to strip the object files
        !             5: of local symbols before putting them in the library.
        !             6: The following
        !             7: C shell commands strip all the '.o' files in the current directory
        !             8: and create a new random library, mylib.a, from them.
        !             9: Do this only with debugged files as the source level debuger,
        !            10: dbx, can not be used with stripped object files.
        !            11: 
        !            12: .nf
        !            13:        foreach i (*.o)
        !            14:           ld -r -x $i
        !            15:           /bin/mv a.out $i
        !            16:        end
        !            17:        /bin/rm -f mylib.a
        !            18:        ar qv mylib.a *.o
        !            19:        ranlib mylib.a
        !            20: .fi
        !            21: 
        !            22: The /bin/rm -f will remove an existing version of the library without
        !            23: prompting if it exists and without error comment if none exists.
        !            24: \&'Ar q' is faster than 'ar r' or 'ar u' when creating libraries, especially
        !            25: when creating an archive piece-by-piece.  'q' cannot be used when
        !            26: updating an archive.  The 'v' option causes the names of the files
        !            27: being added to be typed on standard output.
        !            28: 
        !            29: With large archives, loading time often is improved if the files
        !            30: in the archive are ordered so that the loader will make only one
        !            31: pass through the archive.  To do this, replace the ar by:
        !            32: 
        !            33: .nf
        !            34:        ar qv mylib.a `lorder *.o | tsort`
        !            35: .fi
        !            36: 
        !            37: If you are creating a archive with over 500 object files, 'lorder *.o'
        !            38: may cause the error: "Arguments too long".
        !            39: This can be overcome by a sequence such as:
        !            40: 
        !            41: .nf
        !            42:        ar q tmp.a [a-d]*.o
        !            43:        ar q tmp.a [e-n]*.o
        !            44:        ar q tmp.a [o-z]*.o
        !            45:        lorder tmp.a | tsort | split -100 - XXlists
        !            46:        /bin/rm tmp.a
        !            47:        foreach i ( XXlists* )
        !            48:                ar qv mylib.a `cat $i`
        !            49:        end
        !            50:        /bin/rm -f XXlists*
        !            51: .fi

unix.superglobalmegacorp.com

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