xref: /netbsd-src/external/apache2/llvm/dist/llvm/docs/CommandGuide/llvm-install-name-tool.rst (revision 82d56013d7b633d116a93943de88e08335357a7c)
1*82d56013Sjoergllvm-install-name-tool - LLVM tool for manipulating install-names and rpaths
2*82d56013Sjoerg============================================================================
3*82d56013Sjoerg
4*82d56013Sjoerg.. program:: llvm-install-name-tool
5*82d56013Sjoerg
6*82d56013SjoergSYNOPSIS
7*82d56013Sjoerg--------
8*82d56013Sjoerg
9*82d56013Sjoerg:program:`llvm-install-name-tool` [*options*] *input*
10*82d56013Sjoerg
11*82d56013SjoergDESCRIPTION
12*82d56013Sjoerg-----------
13*82d56013Sjoerg
14*82d56013Sjoerg:program:`llvm-install-name-tool` is a tool to manipulate dynamic shared library
15*82d56013Sjoerginstall names and rpaths listed in a Mach-O binary.
16*82d56013Sjoerg
17*82d56013SjoergFor most scenarios, it works as a drop-in replacement for Apple's
18*82d56013Sjoerg:program:`install_name_tool`.
19*82d56013Sjoerg
20*82d56013SjoergOPTIONS
21*82d56013Sjoerg--------
22*82d56013SjoergAt least one of the following options are required, and some options can be
23*82d56013Sjoergcombined with other options. Options :option:`-add_rpath`, :option:`-delete_rpath`,
24*82d56013Sjoergand :option:`-rpath` can be combined in an invocation only if they do not share
25*82d56013Sjoergthe same `<rpath>` value.
26*82d56013Sjoerg
27*82d56013Sjoerg.. option:: -add_rpath <rpath>
28*82d56013Sjoerg
29*82d56013Sjoerg Add an rpath named ``<rpath>`` to the specified binary. Can be specified multiple
30*82d56013Sjoerg times to add multiple rpaths. Throws an error if ``<rpath>`` is already listed in
31*82d56013Sjoerg the binary.
32*82d56013Sjoerg
33*82d56013Sjoerg.. option:: -change <old_install_name> <new_install_name>
34*82d56013Sjoerg
35*82d56013Sjoerg Change an install name ``<old_install_name>`` to ``<new_install_name>`` in the
36*82d56013Sjoerg specified binary. Can be specified multiple times to change multiple dependent shared
37*82d56013Sjoerg library install names. Option is ignored if ``<old_install_name>`` is not listed
38*82d56013Sjoerg in the specified binary.
39*82d56013Sjoerg
40*82d56013Sjoerg.. option:: -delete_rpath <rpath>
41*82d56013Sjoerg
42*82d56013Sjoerg Delete an rpath named ``<rpath>`` from the specified binary. Can be specified multiple
43*82d56013Sjoerg times to delete multiple rpaths. Throws an error if ``<rpath>`` is not listed in
44*82d56013Sjoerg the binary.
45*82d56013Sjoerg
46*82d56013Sjoerg.. option:: -delete_all_rpaths
47*82d56013Sjoerg
48*82d56013Sjoerg  Deletes all rpaths from the binary.
49*82d56013Sjoerg
50*82d56013Sjoerg.. option:: --help, -h
51*82d56013Sjoerg
52*82d56013Sjoerg Print a summary of command line options.
53*82d56013Sjoerg
54*82d56013Sjoerg.. option:: -id <name>
55*82d56013Sjoerg
56*82d56013Sjoerg Change shared library's identification name under LC_ID_DYLIB to ``<name>`` in the
57*82d56013Sjoerg specified binary. If specified multiple times, only the last :option:`-id` option is
58*82d56013Sjoerg selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library.
59*82d56013Sjoerg
60*82d56013Sjoerg.. option:: -rpath <old_rpath> <new_rpath>
61*82d56013Sjoerg
62*82d56013Sjoerg Change an rpath named ``<old_rpath>`` to ``<new_rpath>`` in the specified binary. Can be specified
63*82d56013Sjoerg multiple times to change multiple rpaths. Throws an error if ``<old_rpath>`` is not listed
64*82d56013Sjoerg in the binary or ``<new_rpath>`` is already listed in the binary.
65*82d56013Sjoerg
66*82d56013Sjoerg.. option:: --version, -V
67*82d56013Sjoerg
68*82d56013Sjoerg Display the version of the :program:`llvm-install-name-tool` executable.
69*82d56013Sjoerg
70*82d56013SjoergEXIT STATUS
71*82d56013Sjoerg-----------
72*82d56013Sjoerg
73*82d56013Sjoerg:program:`llvm-install-name-tool` exits with a non-zero exit code if there is an error.
74*82d56013SjoergOtherwise, it exits with code 0.
75*82d56013Sjoerg
76*82d56013SjoergBUGS
77*82d56013Sjoerg----
78*82d56013Sjoerg
79*82d56013SjoergTo report bugs, please visit <https://bugs.llvm.org/>.
80*82d56013Sjoerg
81*82d56013SjoergSEE ALSO
82*82d56013Sjoerg--------
83*82d56013Sjoerg
84*82d56013Sjoerg:manpage:`llvm-objcopy(1)`
85