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