| # llvm-lipo - LLVM tool for manipulating universal binaries | |
| :::{program} llvm-lipo | |
| ::: | |
| ## SYNOPSIS | |
| {program}`llvm-lipo` \[*filenames...*\] \[*options*\] | |
| ## DESCRIPTION | |
| {program}`llvm-lipo` can create universal binaries from Mach-O files, extract regular object files from universal binaries, and display architecture information about both universal and regular files. | |
| ## COMMANDS | |
| {program}`llvm-lipo` supports the following mutually exclusive commands: | |
| :::{option} -help, -h | |
| Display usage information and exit. | |
| ::: | |
| :::{option} -version | |
| Display the version of this program. | |
| ::: | |
| :::{option} -verify_arch <architecture 1> [<architecture 2> ...] | |
| Take a single input file and verify the specified architectures are present in the file. | |
| If so then exit with a status of 0 else exit with a status of 1. | |
| ::: | |
| :::{option} -archs | |
| Take a single input file and display the architectures present in the file. | |
| Each architecture is separated by a single whitespace. | |
| Unknown architectures are displayed as unknown(CPUtype,CPUsubtype). | |
| ::: | |
| :::{option} -info | |
| Take at least one input file and display the descriptions of each file. | |
| The descriptions include the filename and architecture types separated by whitespace. | |
| Universal binaries are grouped together first, followed by thin files. | |
| Architectures in the fat file: \<filename> are: \<architectures> | |
| Non-fat file: \<filename> is architecture: \<architecture> | |
| ::: | |
| :::{option} -thin | |
| Take a single universal binary input file and the thin flag followed by an architecture type. | |
| Require the output flag to be specified, and output a thin binary of the specified architecture. | |
| ::: | |
| :::{option} -create | |
| Take at least one input file and require the output flag to be specified. | |
| Output a universal binary combining the input files. | |
| ::: | |
| :::{option} -replace | |
| Take a single universal binary input file and require the output flag to be specified. | |
| The replace flag is followed by an architecture type, and a thin input file. | |
| Output a universal binary with the specified architecture slice in the | |
| universal binary input replaced with the contents of the thin input file. | |
| ::: | |
| :::{option} -segalign | |
| Additional flag that can be specified with create and replace. | |
| The segalign flag is followed by an architecture type, and an alignment. | |
| The alignment is a hexadecimal number that is a power of 2. | |
| Output a file in which the slice with the specified architecture has the specified alignment. | |
| ::: | |
| ## BUGS | |
| To report bugs, please visit \<<https://github.com/llvm/llvm-project/issues/>>. | |