[Pixman] [cairo] pixman 0.18 MinGW SSE2 error

Soeren Sandmann sandmann at daimi.au.dk
Tue Sep 14 09:56:51 PDT 2010


Tor Lillqvist <tml at iki.fi> writes:

> By the way, it seems that with gcc 4.5.0 from mingw.org, __thread, sse
> and mmx work fine.
> 
> I added the below to pixman 0.18 and as far as I can see, it works.
> make check reports no problems. (Earlier I had to use --disable-mmx
> and --disable-sse2.) Also gtk-demo and gimp run fine.
> 
> (Also a change to get rid of the warnings about -fvisibility being
> ignored.)

This patch looks good to me, so I'll merge it unless someone tells me
otherwise within the next few days.


Soren


> diff --git a/configure.ac b/configure.ac
> index 8b2b024..d9f9718 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -145,6 +145,9 @@ have_gcc4=no
>  AC_MSG_CHECKING(for -fvisibility)
>  AC_COMPILE_IFELSE([
>  #if defined(__GNUC__) && (__GNUC__ >= 4)
> +#ifdef _WIN32
> +error Have -fvisibility but it is ignored and generates a warning
> +#endif
>  #else
>  error Need GCC 4.0 for visibility
>  #endif
> @@ -524,8 +527,8 @@ support_for__thread=no
> 
>  AC_MSG_CHECKING(for __thread)
>  AC_COMPILE_IFELSE([
> -#ifdef __MINGW32__
> -#error MinGW has broken __thread support
> +#if defined __MINGW32__ && !(__GNUC__ > 4 || (__GNUC__ == 4 &&
> __GNUC_MINOR__ >= 5))
> +#error This MinGW version has broken __thread support
>  #endif
>  __thread int x ;
>  int main () { return 0; }
> diff --git a/pixman/pixman-compiler.h b/pixman/pixman-compiler.h
> index 26f7071..affb236 100644
> --- a/pixman/pixman-compiler.h
> +++ b/pixman/pixman-compiler.h
> @@ -60,7 +60,7 @@
>  #endif
> 
>  /* GCC visibility */
> -#if defined(__GNUC__) && __GNUC__ >= 4
> +#if defined(__GNUC__) && __GNUC__ >= 4 && !defined(_WIN32)
>  #   define PIXMAN_EXPORT __attribute__ ((visibility("default")))
>  /* Sun Studio 8 visibility */
>  #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
> --
> cairo mailing list
> cairo at cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo


More information about the Pixman mailing list