A recursive call of OS X's install_name_tool for shared library distributions
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Initial commit Nov 2, 2015
README.md Update README.md Nov 4, 2015
matryoshka_name_tool.py Update matryoshka_name_tool.py Nov 2, 2015



A recursive call of OS X's install_name_tool for shared library distributions.


Apple does not support statically linked binaries on Mac OS X. Therefore, it is necessary to distribute shared libraries whose shared library install names have been changed using install_name_tool. But install_name_tool must be applied recursively down the entire shared library dependency tree, which can result in many hundreds of calls to install_name_tool.

matryoshka_name_tool calls install_name_tool automatically and creates a common shared library directory that may be used to distribute binaries on OS X.


python matryoshka_name_tool.py ./comskip ./comskip-gui

python matryoshka_name_tool.py -h

usage: matryoshka_name_tool.py [-h] [-d INSTALL_LIBDIR] [-L LIBDIR] [-u]
                               OBJS [OBJS ...]

positional arguments:
  OBJS                  Object file[s]

optional arguments:
  -h, --help            show this help message and exit
  -d INSTALL_LIBDIR, --install-libdir INSTALL_LIBDIR
                        Shared library install directory
  -L LIBDIR, --libdir LIBDIR
                        Shared library source directory
  -u, --update          Update the install directory


Licensed under the GNU General Public License, version 2.