I'm fine with making libXi dependent on libXfixes, and considering how you have to include libXfixes to make a pointer barrier and then libXi to receive events, it's already sort of dirty like that.
On Mon, Mar 25, 2013 at 7:55 PM, Peter Hutterer <[email protected]>wrote: > ping. any opinions? The only other alternative I can think of here is to > make libXi dependent on libXfixes. > > Cheers, > Peter > > On Tue, Mar 12, 2013 at 11:00:26AM +1000, Peter Hutterer wrote: > > 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 <[email protected]> > > --- > > Nasty, but can't think of a better way atm. > > > > include/X11/extensions/XInput2.h | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/include/X11/extensions/XInput2.h > b/include/X11/extensions/XInput2.h > > index a746012..8de4aeb 100644 > > --- a/include/X11/extensions/XInput2.h > > +++ b/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 > > -- > > 1.8.1.4 > > > > _______________________________________________ > > [email protected]: X.Org development > > Archives: http://lists.x.org/archives/xorg-devel > > Info: http://lists.x.org/mailman/listinfo/xorg-devel > > > _______________________________________________ > [email protected]: X.Org development > Archives: http://lists.x.org/archives/xorg-devel > Info: http://lists.x.org/mailman/listinfo/xorg-devel > -- Jasper
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
