[cairo] pixman 0.18 MinGW SSE2 error
Tor Lillqvist
tml at iki.fi
Sat Sep 11 20:27:37 PDT 2010
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.)
--tml
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)
More information about the cairo
mailing list