[Pixman] pixman on iOS
Søren Sandmann
sandmann at cs.au.dk
Thu Feb 16 12:47:17 PST 2012
Jeremy Huddleston <jeremyhu at apple.com> writes:
> 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.
I have pushed the libpng patch. Regarding the TLS patch,
> Subject: [PATCH 2/2] Expand TLS support beyond __thread to __declspec(thread)
>
> Also prefer initial-exec if available. This code was pretty much
> coppied from a similar commit that I made to xorg-server in April.
I don't think initial-exec is appropriate for pixman, which is often
dynamically opened. See these bugs:
https://bugs.freedesktop.org/show_bug.cgi?id=34335
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=613221
https://bugs.freedesktop.org/show_bug.cgi?id=35268
Also, this part of the patch:
> -AC_MSG_CHECKING(for __thread)
> -AC_LINK_IFELSE([AC_LANG_SOURCE([[
> -#if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
> -#error This MinGW version has broken __thread support
> -#endif
> -#ifdef __OpenBSD__
> -#error OpenBSD has broken __thread support
> -#endif
looks like it is losing the workarounds for broken __thread support on
OpenBSD and certain versions of MinGW.
Søren
More information about the Pixman
mailing list