| # llvm-install-name-tool - LLVM tool for manipulating install-names and rpaths | |
| ```{program} llvm-install-name-tool | |
| ``` | |
| ## SYNOPSIS | |
| {program}`llvm-install-name-tool` \[*options*\] *input* | |
| ## DESCRIPTION | |
| {program}`llvm-install-name-tool` is a tool to manipulate dynamic shared library | |
| install names and rpaths listed in a Mach-O binary. | |
| For most scenarios, it works as a drop-in replacement for Apple's | |
| {program}`install_name_tool`. | |
| ## OPTIONS | |
| At least one of the following options are required, and some options can be | |
| combined with other options. Options {option}`-add_rpath`, {option}`-delete_rpath`, | |
| and {option}`-rpath` can be combined in an invocation only if they do not share | |
| the same `<rpath>` value. | |
| :::{option} -add_rpath <rpath> | |
| Add an rpath named `<rpath>` to the specified binary. Can be specified multiple | |
| times to add multiple rpaths. Throws an error if `<rpath>` is already listed in | |
| the binary. | |
| ::: | |
| :::{option} -change <old_install_name> <new_install_name> | |
| Change an install name `<old_install_name>` to `<new_install_name>` in the | |
| specified binary. Can be specified multiple times to change multiple dependent shared | |
| library install names. Option is ignored if `<old_install_name>` is not listed | |
| in the specified binary. | |
| ::: | |
| :::{option} -delete_rpath <rpath> | |
| Delete an rpath named `<rpath>` from the specified binary. Can be specified multiple | |
| times to delete multiple rpaths. Throws an error if `<rpath>` is not listed in | |
| the binary. | |
| ::: | |
| :::{option} -delete_all_rpaths | |
| Deletes all rpaths from the binary. | |
| ::: | |
| :::{option} --help, -h | |
| Print a summary of command line options. | |
| ::: | |
| :::{option} -id <name> | |
| Change shared library's identification name under LC_ID_DYLIB to `<name>` in the | |
| specified binary. If specified multiple times, only the last {option}`-id` option is | |
| selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library. | |
| ::: | |
| :::{option} -o <file>, --output <file> | |
| Write the modified binary to `<file>` instead of updating the input file in place. | |
| ::: | |
| :::{option} -rpath <old_rpath> <new_rpath> | |
| Change an rpath named `<old_rpath>` to `<new_rpath>` in the specified binary. Can be specified | |
| multiple times to change multiple rpaths. Throws an error if `<old_rpath>` is not listed | |
| in the binary or `<new_rpath>` is already listed in the binary. | |
| ::: | |
| :::{option} --version, -V | |
| Display the version of the {program}`llvm-install-name-tool` executable. | |
| ::: | |
| ## EXIT STATUS | |
| {program}`llvm-install-name-tool` exits with a non-zero exit code if there is an error. | |
| Otherwise, it exits with code 0. | |
| ## BUGS | |
| To report bugs, please visit \<<https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/>>. | |
| ## SEE ALSO | |
| {manpage}`llvm-objcopy(1)` | |