Update to 1.7.1:
Only a single fix: including the XFixes header to get the typedef for PointerBarrier. Naturally, this adds a pkgconfig build-time dependency on XFixes. Why? The header shipped with 1.7 typedef'd PointerBarrier. If you #include both XI and Xfixes headers, you will end up with a duplicate typedef. This is not an issue on gcc >= 4.6 since the two typedef's are the same. On earlier versions this will trigger an error. gcc 4.6 -pedantic-errors will trigger the same error. Peter Hutterer (2): Require XFixes for PointerBarrier, remove duplicate typedef libXi 1.7.1
This commit is contained in:
parent
ed4f2baf5a
commit
b931511c91
3 changed files with 7 additions and 49 deletions
|
@ -1,8 +1,7 @@
|
|||
# $NetBSD: Makefile,v 1.22 2013/03/14 17:37:51 drochner Exp $
|
||||
# $NetBSD: Makefile,v 1.23 2013/04/05 09:11:57 wiz Exp $
|
||||
#
|
||||
|
||||
DISTNAME= libXi-1.7
|
||||
PKGREVISION= 1
|
||||
DISTNAME= libXi-1.7.1
|
||||
CATEGORIES= x11 devel
|
||||
MASTER_SITES= ${MASTER_SITE_XORG:=lib/}
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
@ -40,6 +39,7 @@ BUILDLINK_API_DEPENDS.xproto+= xproto>=7.0.13
|
|||
.include "../../x11/inputproto/buildlink3.mk"
|
||||
.include "../../x11/libX11/buildlink3.mk"
|
||||
.include "../../x11/libXext/buildlink3.mk"
|
||||
.include "../../x11/libXfixes/buildlink3.mk"
|
||||
.include "../../x11/xextproto/buildlink3.mk"
|
||||
.include "../../x11/xproto/buildlink3.mk"
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
$NetBSD: distinfo,v 1.18 2013/03/12 11:39:49 wiz Exp $
|
||||
$NetBSD: distinfo,v 1.19 2013/04/05 09:11:57 wiz Exp $
|
||||
|
||||
SHA1 (libXi-1.7.tar.bz2) = 1c4e992094f71103660f16329b228b081f48d48c
|
||||
RMD160 (libXi-1.7.tar.bz2) = 368ed28a1562dff67ebdb6e7433205e04c62c0a0
|
||||
Size (libXi-1.7.tar.bz2) = 433745 bytes
|
||||
SHA1 (patch-include_X11_extensions_XInput2.h) = 6e1e5dd3aa8c4b0507aca44c8b7ae51a45cf1b69
|
||||
SHA1 (libXi-1.7.1.tar.bz2) = 0737f2344c661523bd5903a727c3371cebb2b0f3
|
||||
RMD160 (libXi-1.7.1.tar.bz2) = 7e871fead6d1c276480868a1099fbd05b519df30
|
||||
Size (libXi-1.7.1.tar.bz2) = 434569 bytes
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
$NetBSD: patch-include_X11_extensions_XInput2.h,v 1.1 2013/03/12 11:39:49 wiz Exp $
|
||||
|
||||
gcc 4.6 won't complain about that, but earlier versions do:
|
||||
http://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=ce3765bf44e49ef0568a1ad4a0b7f807591d6412
|
||||
|
||||
gcc 4.6 with -pedantic-errors shows:
|
||||
/opt/xorg/include/X11/extensions/XInput2.h:172:13: error: redefinition of
|
||||
typedef ‘PointerBarrier’ [-pedantic]
|
||||
In file included from test.c:1:0:
|
||||
/opt/xorg/include/X11/extensions/Xfixes.h:255:13: note: previous declaration
|
||||
of ‘PointerBarrier’ was here
|
||||
|
||||
PointerBarriers is defined in XFixes.h and here. So hook onto the only thing
|
||||
we can in Xfixes.h and use that to figure out if we need to typedef
|
||||
ourselves. XFIXES_MAJOR is defined in xfixeswire.h, so we can't hook onto it
|
||||
directly.
|
||||
|
||||
Adding this ifdef here means we have include order dependency of XFixes.h
|
||||
before XInput2.h unless we add a similar ifdef to the fixes headers.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
Nasty, but can't think of a better way atm.
|
||||
|
||||
include/X11/extensions/XInput2.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
--- include/X11/extensions/XInput2.h.orig 2013-02-19 01:08:17.000000000 +0000
|
||||
+++ include/X11/extensions/XInput2.h
|
||||
@@ -169,7 +169,11 @@ typedef struct
|
||||
int status;
|
||||
} XIGrabModifiers;
|
||||
|
||||
+/* Xfixes.h typedefs PointerBarrier and gcc pre-4.6 (or with -pedantic) will
|
||||
+ complain about the duplicate typedef */
|
||||
+#if !defined _XFIXES_H_ || XFIXES_MAJOR < 5
|
||||
typedef XID PointerBarrier;
|
||||
+#endif
|
||||
typedef unsigned int BarrierEventID;
|
||||
|
||||
typedef struct
|
Loading…
Reference in a new issue