Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ar(CP) — OpenDesktop Software Development System 1.0.0d

Media Vault

Software Library

Restoration Projects

Artifacts Sought

     Name
          ar - archive and library maintainer for portable archives

     Syntax
          ar key [keyarg] [posname] afile [name] ...

     Description
          The ar command maintains groups of files combined into a
          single archive file.  Its main use is to create and update
          library files as used by the link editor.  It can be used,
          though, for any similar purpose.  The magic string and the
          file headers used by ar consist of printable ASCII
          characters.  If an archive is composed of printable files,
          the entire archive is printable.  Archives of text files
          created by ar are portable between implementations of System
          V.

          When ar creates an archive, it creates headers in a format
          that is portable across all machines.  The portable archive
          format and structure is described in detail in ar(F).  The
          archive symbol table (described in ar(F)) is used by the
          link editor (ld(CP)) to effect multiple passes over
          libraries of object files in an efficient manner.  An
          archive symbol table is only created and maintained by ar
          when there is at least one object file in the archive.  The
          archive symbol table is in a specially named file that is
          always the first file in the archive.  This file is never
          mentioned nor is it accessible to the user.  Whenever the
          ar(CP) command is used to create or update the contents of
          such an archive, the symbol table is rebuilt.  The s option,
          described in the following text, will force the symbol table
          to be rebuilt.

          Unlike command options, the command key is a required part
          of ar's command line.  The key (which may begin with a -) is
          formed with one of the following letters: drqtpmx.
          Arguments to the key, alternatively, are made with one or
          more of the following set: vuaibcls.  posname is an archive
          member name used as a reference point in positioning other
          files in the archive.  afile is the archive file.  The names
          are constituent files in the archive file.  The meanings of
          the key characters are as follows:

          d    Delete the named files from the archive file.

          r    Replace the named files in the archive file.  If the
               optional character u is used with r, then only those
               files with dates of modification later than the archive
               files are replaced.  If an optional positioning
               character from the set abi is used, then the posname
               argument must be present and specify that new files are
               to be placed after (a) or before (b or i) posname.
               Otherwise new files are placed at the end.

          q    Quickly append the named files to the end of the
               archive file.  Optional positioning characters are
               invalid.  The command does not check whether the added
               members are already in the archive.  This option is
               useful to avoid quadratic behavior when creating a
               large archive piece-by-piece.  Unchecked, the file may
               grow exponentially up to the second degree.

          t    Print a table of contents of the archive file.  If no
               names are given, all files in the archive are tabled.
               If names are given, only those files are tabled.

          p    Print the named files in the archive.

          m    Move the named files to the end of the archive.  If a
               positioning character is present, then the posname
               argument must be present and, as in r, specify where
               the files are to be moved.

          x    Extract the named files.  If no names are given, all
               files in the archive are extracted.  In neither case
               does x alter the archive file.

          The meanings of the key arguments are as follows:

          v    Give a verbose file-by-file description of the making
               of a new archive file from the old archive and the
               constituent files.  When used with t, give a long
               listing of all information about the files.  When used
               with x, precede each file with a name.

          c    Suppress the message that is produced by default when
               afile is created.

          l    Place temporary files in the local (current working)
               directory rather than in the default temporary
               directory, TMPDIR.

          s    Force the regeneration of the archive symbol table even
               if ar(CP) is not invoked with a command which will
               modify the archive contents.  This command is useful to
               restore the archive symbol table after the strip(CP)
               command has been used on the archive.

     Files
          $TMPDIR/*             temporary files

          $TMPDIR is usually /usr/tmp but can be redefined by setting
          the environment variable TMPDIR [see tempnam() in
          tmpnam(S)].

     See Also
          ld(CP), lorder(CP), strip(CP), tsort(CP), tmpnam(S),
          a.out(F), ar(F).

     Notes
          If you are using XENIX binaries, please refer to the manual
          entry for this utility in the XENIX Development Guide for
          information on the appropriate usage with XENIX binaries.

          If the same file is mentioned twice in an argument list, it
          may be put in the archive twice.

     Standards Conformance
          ar is conformant with:
          AT&T SVID Issue 2, Select Code 307-127;
          and The X/Open Portability Guide II of January 1987.
                                                (printed 6/18/89)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026