summaryrefslogtreecommitdiff
path: root/devel/liboil
diff options
context:
space:
mode:
authordrochner <drochner@pkgsrc.org>2006-10-23 18:39:24 +0000
committerdrochner <drochner@pkgsrc.org>2006-10-23 18:39:24 +0000
commit2ba1d3bff85b12ea5ddd26971ef4196d45fa93b8 (patch)
treeb9610e868649fd212aa91c111bac5ae3f59180b4 /devel/liboil
parent386d3947671a7d2ec414b356122d810ce2875d41 (diff)
downloadpkgsrc-2ba1d3bff85b12ea5ddd26971ef4196d45fa93b8.tar.gz
-Fix compiler errors with gcc-3.3.3 on i386, reported by Robert Elz per
PR pkg/34886. Just #ifdef out the code on i386; it was disabled at another layer anyway (due to alignment problems with any gcc on i386). Thanks to Robert for testing. -Make sure cpuid is read on amd64, to enable mmx/sse support. (We could just assume it, but for the future this makes more sense.) -bump PKGREVISION
Diffstat (limited to 'devel/liboil')
-rw-r--r--devel/liboil/Makefile3
-rw-r--r--devel/liboil/distinfo6
-rw-r--r--devel/liboil/patches/patch-aa11
-rw-r--r--devel/liboil/patches/patch-ab26
-rw-r--r--devel/liboil/patches/patch-ac26
5 files changed, 68 insertions, 4 deletions
diff --git a/devel/liboil/Makefile b/devel/liboil/Makefile
index 07cefc5d05b..f5b98aaaa72 100644
--- a/devel/liboil/Makefile
+++ b/devel/liboil/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.8 2006/10/19 14:27:33 drochner Exp $
+# $NetBSD: Makefile,v 1.9 2006/10/23 18:39:24 drochner Exp $
#
DISTNAME= liboil-0.3.9
+PKGREVISION= 1
CATEGORIES= devel
MASTER_SITES= http://liboil.freedesktop.org/download/
diff --git a/devel/liboil/distinfo b/devel/liboil/distinfo
index 77323fa2f15..3c3cf85ca61 100644
--- a/devel/liboil/distinfo
+++ b/devel/liboil/distinfo
@@ -1,6 +1,8 @@
-$NetBSD: distinfo,v 1.2 2006/10/19 14:27:33 drochner Exp $
+$NetBSD: distinfo,v 1.3 2006/10/23 18:39:24 drochner Exp $
SHA1 (liboil-0.3.9.tar.gz) = 9b8126c4ae26f32c4131c7e8df8b2c61e7e1973a
RMD160 (liboil-0.3.9.tar.gz) = b77d754028d97cff2138c4d899e00959a34eb750
Size (liboil-0.3.9.tar.gz) = 833083 bytes
-SHA1 (patch-aa) = 7f030d1ad86805b21bfb7bc9343fe73337ecd359
+SHA1 (patch-aa) = 9ed35f2ff99c8e9d85d6ef9c03946e6ec8a5a107
+SHA1 (patch-ab) = 7fc1f032bad9384fb9e0aa9e88d75c8eb5bb35c5
+SHA1 (patch-ac) = 809d577cabdc575891aa33ab13f4c1a508520088
diff --git a/devel/liboil/patches/patch-aa b/devel/liboil/patches/patch-aa
index 940e7c6cd50..1abbd51dd84 100644
--- a/devel/liboil/patches/patch-aa
+++ b/devel/liboil/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.1 2006/10/19 14:27:33 drochner Exp $
+$NetBSD: patch-aa,v 1.2 2006/10/23 18:39:24 drochner Exp $
--- liboil/liboilcpu.c.orig 2006-05-23 02:07:56.000000000 +0200
+++ liboil/liboilcpu.c
@@ -26,3 +26,12 @@ $NetBSD: patch-aa,v 1.1 2006/10/19 14:27:33 drochner Exp $
/* If we don't know that the operating system supports SSE, don't trust that
* it will properly support it.
*/
+@@ -743,7 +751,7 @@ oil_cpu_detect_mips(void)
+ static void
+ oil_cpu_detect_arch(void)
+ {
+-#ifdef __i386__
++#if defined(__i386__) || defined(__amd64__)
+ oil_cpu_detect_i386();
+ #endif
+ #if defined(__powerpc__) || defined(__PPC__) || defined(__ppc__)
diff --git a/devel/liboil/patches/patch-ab b/devel/liboil/patches/patch-ab
new file mode 100644
index 00000000000..9830fb9f2d9
--- /dev/null
+++ b/devel/liboil/patches/patch-ab
@@ -0,0 +1,26 @@
+$NetBSD: patch-ab,v 1.1 2006/10/23 18:39:24 drochner Exp $
+
+--- ./liboil/sse/composite_sse_2pix.c.orig 2005-12-21 02:27:54.000000000 +0100
++++ ./liboil/sse/composite_sse_2pix.c
+@@ -136,6 +136,13 @@ static __m128i over_argb_sse2(__m128i de
+ return _mm_adds_epu8(src, muldiv_255_sse2(dest, negate_argb_sse2(srca)));
+ }
+
++/*
++ * These functions trigger an ICE with gcc-3.3.3 on i386.
++ * (see NetBSD PR pkg/34886)
++ * Since SSE2 is broken anyway on i386, just disable it.
++ * (amd64 is OK)
++ */
++#ifndef __i386__
+ static void
+ composite_in_argb_sse_2pix (uint32_t *dest, const uint32_t *src,
+ const uint8_t *mask, int n)
+@@ -389,6 +396,7 @@ composite_in_over_argb_const_mask_sse_2p
+ }
+ OIL_DEFINE_IMPL_FULL (composite_in_over_argb_const_mask_sse_2pix,
+ composite_in_over_argb_const_mask, OIL_IMPL_FLAG_SSE2);
++#endif
+
+ static void
+ composite_over_u8_sse_2pix (uint8_t *dest, const uint8_t *src, int n)
diff --git a/devel/liboil/patches/patch-ac b/devel/liboil/patches/patch-ac
new file mode 100644
index 00000000000..301932b5b23
--- /dev/null
+++ b/devel/liboil/patches/patch-ac
@@ -0,0 +1,26 @@
+$NetBSD: patch-ac,v 1.1 2006/10/23 18:39:24 drochner Exp $
+
+--- ./liboil/sse/composite_sse_4pix.c.orig 2006-10-23 20:03:45.000000000 +0200
++++ ./liboil/sse/composite_sse_4pix.c
+@@ -270,6 +270,13 @@ composite_in_argb_const_mask_sse (uint32
+ OIL_DEFINE_IMPL_FULL (composite_in_argb_const_mask_sse,
+ composite_in_argb_const_mask, OIL_IMPL_FLAG_SSE2);
+
++/*
++ * These functions trigger an ICE with gcc-3.3.3 on i386.
++ * (see NetBSD PR pkg/34886)
++ * Since SSE2 is broken anyway on i386, just disable it.
++ * (amd64 is OK)
++ */
++#ifndef __i386__
+ static void
+ composite_over_argb_sse (uint32_t *dest, const uint32_t *src, int n)
+ {
+@@ -504,6 +511,7 @@ composite_in_over_argb_const_mask_sse (u
+ }
+ OIL_DEFINE_IMPL_FULL (composite_in_over_argb_const_mask_sse,
+ composite_in_over_argb_const_mask, OIL_IMPL_FLAG_SSE2);
++#endif
+
+ static void
+ composite_over_u8_sse (uint8_t *dest, const uint8_t *src, int n)