LIPO(1) LIPO(1)
NAME
lipo - create or operate on universal files
SYNOPSIS
lipo [-info] [-detailed_info] [-arch arch_type input_file] ... [ input_file] ... [-arch_blank
arch_type] [-create] [-thin arch_type] [-replace arch_type filename] ... [-remove arch_type] ...
[-extract arch_type] ... [-extract_family arch_type] ... [-verify_arch arch_type ...] [-output
output_file] [-segalign arch_type value] ...
DESCRIPTION
The lipo command creates or operates on ``universal'' (multi-architecture) files. It only ever pro-duces produces
duces one output file, and never alters the input file. The operations that lipo performs are: list-ing listing
ing the architecture types in a universal file; creating a single universal file from one or more
input files; thinning out a single universal file to one specified architecture type; and extracting,
replacing, and/or removing architectures types from the input file to create a single new universal
output file.
Only one option can be specified, with the exception of -arch, -arch_blank, -output, and -segalign,
which are used in combination with other options. The input_file argument is required, and only the
-create option allows more than one input_file to be specified. The -output flag must be used,
except with the -info and -detailed_info flags.
The arch_type arguments may be any of the supported architecture names listed in the man page
arch(3).
OPTIONS
-info Briefly list the architecture types in the input universal file (just the names of each archi-tecture). architecture).
tecture).
-detailed_info
Display a detailed list of the architecture types in the input universal file (all the the
information in the universal header, for each architecture in the file).
-arch arch_type input_file
Tells lipo that input_file contains the specified architecture type. The -arch arch_type
specification is unnecessary if input_file is an object file, a universal file, or some other
file whose architecture(s) lipo can figure out.
-arch_blank arch_type
Specifies that the output for the specified arch_type will be an MH_DYLIB_STUB file. This flag
may not be used with any operation other than -create.
-output output_file
Specifies its argument to be the output file.
-create
Take the input files (or file) and create one universal output file from them.
-thin arch_type
Take one input file and create a thin output file with the specified arch_type.
-replace arch_type file_name
Take one universal input file; in the output file, replace the arch_type contents of the input
file with the contents of the specified file_name.
-remove arch_type
Take one universal input file and remove the arch_type from that universal file, placing the
result in the output file.
-extract arch_type
Take one universal input file and copy the arch_type from that universal file into a universal
output file containing only that architecture.
-extract_family arch_type
Take one universal input file and copy all of the arch_types for the family that arch_type is
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.
-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 of 0 else exit with a status of 1.
-segalign arch_type value
Set the segment alignment of the specified arch_type when creating a universal file containing
that architecture. value is a hexadecimal number that must be an integral power of 2. This
is only needed when lipo can'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 to lipo is 0 (2^0, or an alignment of one byte), and the default alignment for ar-chives archives
chives is 4 (2^2, or 4-byte alignment).
SEE ALSO
arch(3)
Apple Computer, Inc. September 12, 2006 LIPO(1)
|