[FFmpeg-devel] [HOWTO] Building FFmpeg for iPhone

Måns Rullgård mans
Fri Oct 2 22:58:09 CEST 2009

I am pleased to announce that FFmpeg can now be built unpatched for
the iPhone.  The process is still not entirely without pain, however.
Here's how it's done:

1.  Download and install the iPhone SDK 3.1.
2.  Get the latest gas-preprocessor and install it in /usr/local/bin
    or some other directory in your $PATH.
3.  Get the latest FFmpeg from SVN (minimum r20151).
4.  Configure FFmpeg with one of the following commands.  These give a
    clean build with a default installation of iPhone SDK 3.1 on OSX Leopard.
    Other versions may vary.
4a. For iPhone 3GS or iPod Touch 3G 32GB/64GB, use this command:
    ./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=cortex-a8 --enable-pic
4b. For other iPhone or iPod Touch models, use this command:
    ./configure --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 --as='gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk --enable-cross-compile --target-os=darwin --arch=arm --cpu=arm1176jzf-s
5.  Run make.

It is important to specify a correct --cpu option, and not merely an
architecture version.  Failure to specify the exact CPU will give a
broken build.

For the iPhone 3GS and compatible iPods, --enable-pic is required to
avoid some nasty-looking linker warnings about relocations.

I have not tested the builds on an iPhone/iPod, so there may still be
remaining issues.  Please report any problems you encounter.

Many thanks to David Conrad for the gas-preprocessor script, without
which this would not be possible.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list