From 07946bd70d51ebda070ec558314da7348b490934 Mon Sep 17 00:00:00 2001 From: Mathias Hasselmann Date: Tue, 26 Jun 2007 14:24:27 +0000 Subject: [PATCH] Extend the C++ keyword test to include internal GDK headers (#449016). 2007-06-22 Mathias Hasselmann * configure.in, tests/Makefile.am, tests/autotestkeywords.cc, tests/dummy-headers/*: Extend the C++ keyword test to include internal GDK headers (#449016). svn path=/trunk/; revision=18244 --- ChangeLog | 6 ++++ configure.in | 7 ++++ tests/Makefile.am | 16 ++++++--- tests/autotestkeywords.cc | 33 +++++++++++++++++++ tests/dummy-headers/AppKit/AppKit.h | 24 ++++++++++++++ .../ApplicationServices/ApplicationServices.h | 8 +++++ tests/dummy-headers/X11/Xlib.h | 17 ++++++++++ tests/dummy-headers/X11/Xutil.h | 1 + tests/dummy-headers/commctrl.h | 1 + tests/dummy-headers/directfb.h | 10 ++++++ tests/dummy-headers/ft2build.h | 1 + tests/dummy-headers/linux/fb.h | 1 + tests/dummy-headers/windows.h | 6 ++++ 13 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 tests/dummy-headers/AppKit/AppKit.h create mode 100644 tests/dummy-headers/ApplicationServices/ApplicationServices.h create mode 100644 tests/dummy-headers/X11/Xlib.h create mode 100644 tests/dummy-headers/X11/Xutil.h create mode 100644 tests/dummy-headers/commctrl.h create mode 100644 tests/dummy-headers/directfb.h create mode 100644 tests/dummy-headers/ft2build.h create mode 100644 tests/dummy-headers/linux/fb.h create mode 100644 tests/dummy-headers/windows.h diff --git a/ChangeLog b/ChangeLog index 5503c2b82..e225e2ca0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-06-22 Mathias Hasselmann + + * configure.in, tests/Makefile.am, tests/autotestkeywords.cc, + tests/dummy-headers/*: Extend the C++ keyword test + to include internal GDK headers (#449016). + 2007-06-26 Mathias Hasselmann * ChangeLog, configure.in, tests/Makefile.am, diff --git a/configure.in b/configure.in index 7d85971ee..9bfa3feb0 100644 --- a/configure.in +++ b/configure.in @@ -142,8 +142,15 @@ dnl AC_CHECK_PROGS(CXX, [$CCC c++ g++ gcc CC cxx cc++ cl], gcc) AC_LANG_SAVE AC_LANG_CPLUSPLUS + AC_TRY_COMPILE(,[class a { int b; } c;], ,CXX=) AM_CONDITIONAL(HAVE_CXX, test "$CXX" != "") + +gtk_save_cxxflags="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS -x objective-c++" +AC_TRY_COMPILE([@interface Foo @end],,OBJC=yes,OBJC=no) +AM_CONDITIONAL(HAVE_OBJC, test "$OBJC" == "yes") +CXXFLAGS="$gtk_save_cxxflags" AC_LANG_RESTORE if test "$os_win32" = "yes"; then diff --git a/tests/Makefile.am b/tests/Makefile.am index 6080704e6..5f9bbf009 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -26,10 +26,6 @@ endif TESTS = floatingtest buildertest -if HAVE_CXX -TESTS += autotestkeywords -endif - noinst_PROGRAMS = \ autotestfilechooser \ autotestkeywords \ @@ -95,7 +91,19 @@ noinst_PROGRAMS = \ testtooltips \ testvolumebutton +if HAVE_CXX +noinst_PROGRAMS += autotestkeywords +TESTS += autotestkeywords + autotestkeywords_SOURCES = autotestkeywords.cc +autotestkeywords_CPPFLAGS = -I$(srcdir)/dummy-headers + +if HAVE_OBJC +autotestkeywords_CPPFLAGS += -DHAVE_OBJC=1 +autotestkeywords_CXXFLAGS = -x objective-c++ +endif + +endif autotestfilechooser_DEPENDENCIES = $(TEST_DEPS) simple_DEPENDENCIES = $(TEST_DEPS) diff --git a/tests/autotestkeywords.cc b/tests/autotestkeywords.cc index c6bac9d61..37984b2ef 100644 --- a/tests/autotestkeywords.cc +++ b/tests/autotestkeywords.cc @@ -1,2 +1,35 @@ #include + +#define gdk_display gdk_display_directfb +#include +#undef gdk_display +#undef GDK_DISPLAY +#undef GDK_ROOT_WINDOW + +#define gdk_display gdk_display_linuxfb +#include +#undef gdk_display +#undef GDK_DISPLAY +#undef GDK_ROOT_WINDOW + +#if HAVE_OBJC +#define gdk_display gdk_display_quartz +#include +#undef gdk_display +#undef GDK_DISPLAY +#undef GDK_ROOT_WINDOW +#endif + +#define gdk_display gdk_display_win32 +#include +#undef gdk_display +#undef GDK_DISPLAY +#undef GDK_ROOT_WINDOW + +#define gdk_display gdk_display_x11 +#include +#undef gdk_display +#undef GDK_DISPLAY +#undef GDK_ROOT_WINDOW + int main() { return 0; } diff --git a/tests/dummy-headers/AppKit/AppKit.h b/tests/dummy-headers/AppKit/AppKit.h new file mode 100644 index 000000000..145692318 --- /dev/null +++ b/tests/dummy-headers/AppKit/AppKit.h @@ -0,0 +1,24 @@ +/* Dummy header for the Quartz backend. */ + +typedef int NSTrackingRectTag; + +@interface NSAutoreleasePool {} +@end + +@interface NSCursor {} +@end + +@interface NSEvent {} +@end + +@interface NSImage {} +@end + +@interface NSView {} +@end + +@interface NSWindow {} +@end + +@protocol NSDraggingInfo +@end diff --git a/tests/dummy-headers/ApplicationServices/ApplicationServices.h b/tests/dummy-headers/ApplicationServices/ApplicationServices.h new file mode 100644 index 000000000..fb696b47a --- /dev/null +++ b/tests/dummy-headers/ApplicationServices/ApplicationServices.h @@ -0,0 +1,8 @@ +/* Dummy header for the Quartz backend. */ + +typedef bool BOOL; + +typedef void *CGContextRef; +typedef void *CGImageRef; +typedef void *CGPatternRef; + diff --git a/tests/dummy-headers/X11/Xlib.h b/tests/dummy-headers/X11/Xlib.h new file mode 100644 index 000000000..6e5f72008 --- /dev/null +++ b/tests/dummy-headers/X11/Xlib.h @@ -0,0 +1,17 @@ +/* Dummy header for the Xlib backend. */ + +typedef unsigned long CARD32; + +typedef CARD32 XID; + +typedef XID Atom; +typedef XID Colormap; +typedef XID Cursor; +typedef XID Window; +typedef XID VisualID; + +typedef struct _Display Display; +typedef struct _GC GC; +typedef struct _Screen Screen; +typedef struct _Visual Visual; +typedef struct _XImage XImage; diff --git a/tests/dummy-headers/X11/Xutil.h b/tests/dummy-headers/X11/Xutil.h new file mode 100644 index 000000000..f22138848 --- /dev/null +++ b/tests/dummy-headers/X11/Xutil.h @@ -0,0 +1 @@ +/* Dummy header for the Xlib backend. */ diff --git a/tests/dummy-headers/commctrl.h b/tests/dummy-headers/commctrl.h new file mode 100644 index 000000000..ff2d79273 --- /dev/null +++ b/tests/dummy-headers/commctrl.h @@ -0,0 +1 @@ +/* Dummy header for the Win32 backend. */ diff --git a/tests/dummy-headers/directfb.h b/tests/dummy-headers/directfb.h new file mode 100644 index 000000000..045d2d64a --- /dev/null +++ b/tests/dummy-headers/directfb.h @@ -0,0 +1,10 @@ +/* Dummy header for the DirectFB backend. */ + +typedef int DFBColor; +typedef int DFBSurfaceCapabilities; +typedef int DFBSurfacePixelFormat; +typedef int DFBWindowCapabilities; +typedef int DFBWindowOptions; + +typedef struct IDirectFBWindow IDirectFBWindow; +typedef struct IDirectFBSurface IDirectFBSurface; diff --git a/tests/dummy-headers/ft2build.h b/tests/dummy-headers/ft2build.h new file mode 100644 index 000000000..76c25f8e4 --- /dev/null +++ b/tests/dummy-headers/ft2build.h @@ -0,0 +1 @@ +/* Dummy header for the Linux framebuffer backend. */ diff --git a/tests/dummy-headers/linux/fb.h b/tests/dummy-headers/linux/fb.h new file mode 100644 index 000000000..76c25f8e4 --- /dev/null +++ b/tests/dummy-headers/linux/fb.h @@ -0,0 +1 @@ +/* Dummy header for the Linux framebuffer backend. */ diff --git a/tests/dummy-headers/windows.h b/tests/dummy-headers/windows.h new file mode 100644 index 000000000..fefe9e8fa --- /dev/null +++ b/tests/dummy-headers/windows.h @@ -0,0 +1,6 @@ +/* Dummy header for the Win32 backend. */ + +typedef void *HDC; +typedef void *HGDIOBJ; +typedef void *HICON; +typedef void *HWND; -- 2.43.2