[Pixman] pixman on iOS

Jeremy Huddleston jeremyhu at apple.com
Mon Feb 13 16:16:30 PST 2012


I noticed this message in the release notes for 0.24.4:
"""
This release also contains some basic support for using the NEON
acceleration on iOS, although actually building pixman on that platform
remains difficult.
"""

I was curious about what was so difficult about building pixman for iOS and decided to lend a hand.  Attached are 2 patches for review and build instructions for how I got it to build.

The script will build pixman master for iOS (after the 2 patches are applied).  The patches fix TLS detection and add support for --disable-libpng (because I didn't feel like building libpng, too, and pkg-config picked up my host libpng).

Everything built just fine.  I haven't tested it, but this should make it easier for people to use in iOS if they want.  You'll need to adjust the path to the SDK and the minimum version of iOS that you want to support as appropriate.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Expand-TLS-support-beyond-__thread-to-__declspec-thr.patch
Type: application/octet-stream
Size: 3222 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20120213/37b1389f/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-configure.ac-Add-an-enable-libpng-option.patch
Type: application/octet-stream
Size: 1157 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pixman/attachments/20120213/37b1389f/attachment-0001.obj>
-------------- next part --------------


SDK="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk"
export CC=$(xcrun -sdk iphoneos -find clang) 
export AS=$(xcrun -sdk iphoneos -find as)
export CPPFLAGS="-isysroot ${SDK}"
export CFLAGS="-g3 -gdwarf-2 -Os -pipe -miphoneos-version-min=5.0 -arch armv6 -arch armv7"
export LDFLAGS="-isysroot ${SDK} -miphoneos-version-min=5.0 -arch armv6 -arch armv7"
./configure --host=arm-apple-darwin
make

--Jeremy



More information about the Pixman mailing list