From 814028444d682b23af3809227cd485f4bebc1286 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 7 May 2012 13:12:20 +0000 Subject: [PATCH] Create a wrapper file for X11/XKBlib.h header. We need some hacks for the older systems before including this header, extract them from src/x11/utilsx.cpp into a new private header to be able to reuse it from wxGTK in the next commit. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- Makefile.in | 4 ++++ build/bakefiles/make_dist.mk | 4 ++++ include/wx/x11/private/wrapxkb.h | 25 +++++++++++++++++++++++++ src/x11/utilsx.cpp | 12 +----------- 4 files changed, 34 insertions(+), 11 deletions(-) create mode 100644 include/wx/x11/private/wrapxkb.h diff --git a/Makefile.in b/Makefile.in index dd46baabc0..c871fc789f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -37221,6 +37221,8 @@ GTK_DIST: UNIV_DIST X11_DIST: UNIV_DIST $(CP_P) $(WXDIR)/wxX11.spec $(DISTDIR) $(CP_P) $(INCDIR)/wx/x11/*.h $(DISTDIR)/include/wx/x11 + mkdir $(DISTDIR)/include/wx/x11/private + $(CP_P) $(INCDIR)/wx/x11/private/*.h $(DISTDIR)/include/wx/x11/private mkdir $(DISTDIR)/include/wx/gtk/private $(CP_P) $(INCDIR)/wx/gtk/private/string.h $(DISTDIR)/include/wx/gtk/private $(CP_P) $(X11DIR)/*.cpp $(DISTDIR)/src/x11 @@ -37250,6 +37252,8 @@ MOTIF_DIST: ALL_GUI_DIST $(CP_P) $(X11INC)/pen.h $(X11INC)/brush.h $(X11INC)/privx.h \ $(X11INC)/bitmap.h $(X11INC)/glcanvas.h $(X11INC)/private.h $(X11INC)/region.h \ $(DISTDIR)/include/wx/x11 + mkdir $(DISTDIR)/include/wx/x11/private + $(CP_P) $(INCDIR)/wx/x11/private/*.h $(DISTDIR)/include/wx/x11/private OSX_CARBON_DIST: ALL_GUI_DIST $(CP_P) $(INCDIR)/*.* $(DISTDIR)/include diff --git a/build/bakefiles/make_dist.mk b/build/bakefiles/make_dist.mk index b7b67dff2a..0b1520582e 100644 --- a/build/bakefiles/make_dist.mk +++ b/build/bakefiles/make_dist.mk @@ -371,6 +371,8 @@ GTK_DIST: UNIV_DIST X11_DIST: UNIV_DIST $(CP_P) $(WXDIR)/wxX11.spec $(DISTDIR) $(CP_P) $(INCDIR)/wx/x11/*.h $(DISTDIR)/include/wx/x11 + mkdir $(DISTDIR)/include/wx/x11/private + $(CP_P) $(INCDIR)/wx/x11/private/*.h $(DISTDIR)/include/wx/x11/private mkdir $(DISTDIR)/include/wx/gtk/private $(CP_P) $(INCDIR)/wx/gtk/private/string.h $(DISTDIR)/include/wx/gtk/private $(CP_P) $(X11DIR)/*.cpp $(DISTDIR)/src/x11 @@ -400,6 +402,8 @@ MOTIF_DIST: ALL_GUI_DIST $(CP_P) $(X11INC)/pen.h $(X11INC)/brush.h $(X11INC)/privx.h \ $(X11INC)/bitmap.h $(X11INC)/glcanvas.h $(X11INC)/private.h $(X11INC)/region.h \ $(DISTDIR)/include/wx/x11 + mkdir $(DISTDIR)/include/wx/x11/private + $(CP_P) $(INCDIR)/wx/x11/private/*.h $(DISTDIR)/include/wx/x11/private OSX_CARBON_DIST: ALL_GUI_DIST $(CP_P) $(INCDIR)/*.* $(DISTDIR)/include diff --git a/include/wx/x11/private/wrapxkb.h b/include/wx/x11/private/wrapxkb.h new file mode 100644 index 0000000000..8380fac8de --- /dev/null +++ b/include/wx/x11/private/wrapxkb.h @@ -0,0 +1,25 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/x11/private/wrapxkb.h +// Purpose: Private header wrapping X11/XKBlib.h inclusion. +// Author: Vadim Zeitlin +// Created: 2012-05-07 +// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $ +// Copyright: (c) 2012 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _X11_PRIVATE_WRAPXKB_H_ +#define _X11_PRIVATE_WRAPXKB_H_ + +#ifdef HAVE_X11_XKBLIB_H + /* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with + * field named "explicit" - which is, of course, an error for a C++ + * compiler. To be on the safe side, just redefine it everywhere. */ + #define explicit __wx_explicit + + #include + + #undef explicit +#endif // HAVE_X11_XKBLIB_H + +#endif // _X11_PRIVATE_WRAPXKB_H_ diff --git a/src/x11/utilsx.cpp b/src/x11/utilsx.cpp index 3285b0a2a4..147915ba20 100644 --- a/src/x11/utilsx.cpp +++ b/src/x11/utilsx.cpp @@ -35,17 +35,7 @@ #include "wx/dcmemory.h" #endif -#ifdef HAVE_X11_XKBLIB_H - /* under HP-UX and Solaris 2.6, at least, XKBlib.h defines structures with - * field named "explicit" - which is, of course, an error for a C++ - * compiler. To be on the safe side, just redefine it everywhere. */ - #define explicit __wx_explicit - - #include "X11/XKBlib.h" - - #undef explicit -#endif // HAVE_X11_XKBLIB_H - +#include "wx/x11/private/wrapxkb.h" // ---------------------------------------------------------------------------- // XShape code -- 2.45.2