Commit 07946bd7 authored by Mathias Hasselmann's avatar Mathias Hasselmann Committed by Mathias Hasselmann

Extend the C++ keyword test to include internal GDK headers (#449016).

2007-06-22  Mathias Hasselmann  <mathias.hasselmann@gmx.de>

	* 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
parent dac4d352
2007-06-22 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* 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 <mathias.hasselmann@gmx.de>
* ChangeLog, configure.in, tests/Makefile.am,
......
......@@ -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
......
......@@ -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)
......
#include <gtk/gtk.h>
#define gdk_display gdk_display_directfb
#include <gdk/directfb/gdkdirectfb.h>
#undef gdk_display
#undef GDK_DISPLAY
#undef GDK_ROOT_WINDOW
#define gdk_display gdk_display_linuxfb
#include <gdk/linux-fb/gdkfb.h>
#undef gdk_display
#undef GDK_DISPLAY
#undef GDK_ROOT_WINDOW
#if HAVE_OBJC
#define gdk_display gdk_display_quartz
#include <gdk/quartz/gdkquartz.h>
#undef gdk_display
#undef GDK_DISPLAY
#undef GDK_ROOT_WINDOW
#endif
#define gdk_display gdk_display_win32
#include <gdk/win32/gdkwin32.h>
#undef gdk_display
#undef GDK_DISPLAY
#undef GDK_ROOT_WINDOW
#define gdk_display gdk_display_x11
#include <gdk/x11/gdkx.h>
#undef gdk_display
#undef GDK_DISPLAY
#undef GDK_ROOT_WINDOW
int main() { return 0; }
/* 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
/* Dummy header for the Quartz backend. */
typedef bool BOOL;
typedef void *CGContextRef;
typedef void *CGImageRef;
typedef void *CGPatternRef;
/* 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;
/* Dummy header for the Xlib backend. */
/* Dummy header for the Win32 backend. */
/* 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;
/* Dummy header for the Linux framebuffer backend. */
/* Dummy header for the Linux framebuffer backend. */
/* Dummy header for the Win32 backend. */
typedef void *HDC;
typedef void *HGDIOBJ;
typedef void *HICON;
typedef void *HWND;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment