ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages


This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from

For more information about the manual page format, see the manual page for manpages(5).

LIPO(1)                                                                                              LIPO(1)

       lipo - create or operate on universal files

       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] ...

       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

       -info  Briefly list the architecture types in the input universal file (just the names of each archi-tecture). architecture).

              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.

              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).


Apple Computer, Inc.                         September 12, 2006                                      LIPO(1)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.