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-architec‐
ture) files. It only ever produces one output file, and never alters
the input file. The operations that lipo performs are: listing 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 -cre‐
ate option allows more than one input_file to be specified. The -out‐
put 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 architecture).
-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 spec‐
ified 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 other‐
wise.
-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 creat‐
ing 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 archives is 4 (2^2, or 4-byte alignment).
SEE ALSOarch(3)Apple Computer, Inc. September 12, 2006 LIPO(1)