CMPDYLIB(1)                  General Commands Manual                 CMPDYLIB(1)

       cmpdylib - compare two dynamic shared libraries for compatibility

       cmpdylib oldLibrary newLibrary

       cmpdylib compares two versions of a dynamic shared library to see if they
       are compatible with each other. If the two versions are incompatible, the
       reason is printed to stdout, and the exit status is nonzero. If they are
       compatible, nothing is printed, and the exit status is zero.

       To see if the two versions are compatible, cmpdylib first verifies that
       newLibrary was built for all of the architectures that oldLibrary was
       built for. If so, for each architecture, it checks to see if the global
       symbols defined in oldLibrary are still defined in newLibrary.  It then
       looks for new symbols, symbols defined in newLibrary that are not defined
       in oldLibrary.  If it finds new symbols, it compares the compatibility
       version numbers of the two libraries.  If the compatibility version
       number of newLibrary is greater than oldLibrary, the libraries are still
       compatible.  If the compatibility version number is the same or less, the
       libraries are incompatible.

              The older version of the library.

              The newer version of the library.

       This example shows the result of performing cmpdylib on two incompatible
       versions of the Foundation library. As stated, the versions are
       incompatible because the newer version was not built for the ppc

       cmpdylib /System/Library/Frameworks/Foundation.framework/Foundation
       cmpdylib: file: Foundation_proj/Foundation does not contain architecture:
       cmpdylib: new dynamic shared library: Foundation_proj/Foundation  does
       not contain architecture ppc

       The exit status is zero if the library versions are compatible and
       nonzero if they are incompatible.

       There are lots of other things that could be checked for that are not
       (such as the Objective C API).

Apple Computer, Inc.            November 3, 1997                     CMPDYLIB(1)