CMPDYLIB(1)CMPDYLIB(1)NAMEcmpdylib - compare two dynamic shared libraries for compatibility
SYNOPSIScmpdylib oldLibrary newLibrary
DESCRIPTIONcmpdylib 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.
OPTIONS
oldLibrary
The older version of the library.
newLibrary
The newer version of the library.
EXAMPLES
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 m68k architecture.
cmpdylib /NextLibrary/Frameworks/Foundation.framework/Foundation
Foundation_proj/Foundation
cmpdylib: file: Foundation_proj/Foundation does not contain
architecture: m68k
cmpdylib: new dynamic shared library: Foundation_proj/Foundation does
not contain architecture m68k
DIAGNOSTICS
The exit status is zero if the library versions are compatible and
nonzero if they are incompatible.
BUGS
There are lots of other things that could be checked for that are not
(such as the Objective-C API).
NeXT Computer, Inc. March 23, 1995 CMPDYLIB(1)