gfx/cairo/pixman-xp-dll-workaround

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/cairo/pixman-xp-dll-workaround	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,27 @@
     1.4 +diff --git a/gfx/cairo/libpixman/src/pixman-compiler.h b/gfx/cairo/libpixman/src/pixman-compiler.h
     1.5 +--- a/gfx/cairo/libpixman/src/pixman-compiler.h
     1.6 ++++ b/gfx/cairo/libpixman/src/pixman-compiler.h
     1.7 +@@ -114,20 +114,22 @@
     1.8 + 
     1.9 + #elif defined(TLS)
    1.10 + 
    1.11 + #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)			\
    1.12 +     static TLS type name
    1.13 + #   define PIXMAN_GET_THREAD_LOCAL(name)				\
    1.14 +     (&name)
    1.15 + 
    1.16 +-#elif defined(__MINGW32__)
    1.17 ++#elif defined(__MINGW32__) || defined(PIXMAN_USE_XP_DLL_TLS_WORKAROUND)
    1.18 + 
    1.19 + #   define _NO_W32_PSEUDO_MODIFIERS
    1.20 + #   include <windows.h>
    1.21 ++#undef IN
    1.22 ++#undef OUT
    1.23 + 
    1.24 + #   define PIXMAN_DEFINE_THREAD_LOCAL(type, name)			\
    1.25 +     static volatile int tls_ ## name ## _initialized = 0;		\
    1.26 +     static void *tls_ ## name ## _mutex = NULL;				\
    1.27 +     static unsigned tls_ ## name ## _index;				\
    1.28 + 									\
    1.29 +     static type *							\
    1.30 +     tls_ ## name ## _alloc (void)					\

mercurial