Search code examples
iphonemacoslinkerbsduniversal-binary

How do I determine the target architecture of static library (.a) on Mac OS X?


I'm interested in verifying if a given iPhone static library has been built for ARM or Intel.

It's more curiosity than anything. Is there some kind of Mac OS X or BSD specific tool to do this? This post gives an example in Linux.


Solution

  • Another option is lipo; its output is brief and more readable than otool's.

    An example:

    % lipo -info /usr/lib/libiodbc.a 
    Architectures in the fat file: /usr/lib/libiodbc.a are: x86_64 i386 ppc
    % lipo -info libnonfatarchive.a
    input file libnonfatarchive.a is not a fat file
    Non-fat file: libnonfatarchive.a is architecture: i386
    %