LIPO(1)
π LIPO(1) Β· lipo β create or operate on universal files π
πΈ NAME πΈ
LIPO(1) is the General Commands Manual page for lipo, and lipo creates or operates on universal (multi-architecture) files. Bestie, this is the architecture-blending tool. π
π¦ SYNOPSIS π¦
lipo input_file command [option...]
β¨ DESCRIPTION β¨
Okay so, lipo creates or operates on universal (multi-architecture) files. Generally, lipo reads a single input file and writes to a single output file, although some commands and options accept multiple input files. It will only ever write to a single output file, and input files are never modified in place. No cap, that's the rule. π
lipo supports a number of commands for creating universal files from single-architecture files, extracting single-architecture files from universal files, and displaying architecture information. It can only perform one such command at a time, although some command flags may appear more than once. Some commands support additional options that can be used with that command. In addition, there are global options that are supported by multiple commands. Keep up, iykyk. π¦
The arch_type arguments may be any of the supported architecture names listed in the man page arch(3). That's your vibe check for arch names. β¨
π₯ COMMANDS π₯
-archsβ Display only the architecture names present in a single input file. Each architecture name is a single word, making this option suitable for shell scripting. Unknown architectures will be represented by"unknown"along with the numeric CPU type and CPU subtype values as a single word. π-createβ Create one universal output file from one or more input files. When input files are specified on the command-line, all of the architectures in each file will be copied into the output file, whereas when input files are included using the global-archoption, only the specified architecture will be copied from that input file. This command requires the-outputoption. π-detailed_infoβ Display a detailed list of the architecture types in the input universal file (all the information in the universal header, for each architecture in the file). It's giving full receipts. π§Ύ-extract arch_type [-extract arch_type...]β Take one universal input file and copy thearch_typefrom that universal file into a universal output file containing only that architecture. This command requires the-outputoption. π-extract_family arch_type [-extract_family arch_type...]β Take one universal input file and copy all of the arch_types for the family thatarch_typeis in from that universal file into an output file containing only those architectures. The file will be thin if only one architecture is found or universal otherwise. This command requires the-outputoption. π-infoβ Display a brief description of each input file along with the names of each architecture type in that input file. Lowkey the quick peek. π-remove arch_type [-remove arch_type ...]β Take one universal input file and remove thearch_typefrom that universal file, placing the result in the output file. This command requires the-outputoption. π-replace arch_type file_name [-replace arch_type file_name...]β Take one universal input file; in the output file, replace thearch_typecontents of the input file with the contents of the specifiedfile_name. This command requires the-outputoption. π-thin arch_typeβ Take one input file and create a thin output file with the specifiedarch_type. This command requires the-outputoption. π§-verify_arch arch_type ...β Take one input file and verify the specified arch_types are present in the file. If so then exit with a status of0else exit with a status of1. Because more than onearch_typecan be verified at once, all of the input files must appear before the-verify_archflag on the command-line. β
π OPTIONS π
-arch arch_type input_fileβ Tellslipothatinput_filecontains the specified architecture type. The-arch arch_typespecification is unnecessary ifinput_fileis an object file, a universal file, or some other file whose architecture(s)lipocan figure out. π«Ά-hideARM64β When creating a universal binary including both 32-bit and 64-bit ARM files, this option will asklipoto add the 64-bit files at the end and not include them in the count of architectures present in the file. The files must be executable files (Mach-O filetypeMH_EXECUTE). This option has no effect if neither 32-bit ARM nor 64-bit ARM files are present, and no other files may be hidden in this way. This option only works with the-create,-remove, and-replacecommands, and is only intended for tools and workflows testing a workaround on older systems. π-output output_fileβ Commands that create new files write to the output file specified by the-outputflag. This option is required for the-create,-extract,-extract_family,-remove,-replace, and-thincommands. πΎ-segalign arch_type valueβ Set the segment alignment of the specifiedarch_typewhen creating a universal file containing that architecture.valueis a hexadecimal number that must be an integral power of 2. This is only needed whenlipocan't figure out the alignment of an input file (currently not an object file), or when it guesses at the alignment too conservatively. The default for files unknown tolipois0(2^0, or an alignment of one byte), and the default alignment for archives is4(2^2, or 4-byte alignment). π
π SEE ALSO π
arch(3) β go read it, bestie. π«Ά
xoxo π Apple Computer, Inc. Β· August 31, 2018 Β· LIPO(1) π
π¦ where this page comes from
- nixpkgs unstable: cctools 1010.6
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms