Commit 2a2d769d authored by Matthias Clasen's avatar Matthias Clasen Committed by Matthias Clasen

Make PLT-reduction work with gcc4, and don't include everything in

2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gdk/gdk.symbols: Group symbols by header and source file.
	* gdk/makegdkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegdkalias.pl -def
	* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
	file.
	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
	headers, include gdkaliasdef.c at the bottom.
parent 34bfd712
2005-03-15 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gdk/gdk.symbols: Group symbols by header and source file.
* gdk/makegdkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegdkalias.pl -def
* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
file.
* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
headers, include gdkaliasdef.c at the bottom.
2005-03-16 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c (_win32_on_clipboard_change): Print
......
2005-03-15 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gdk/gdk.symbols: Group symbols by header and source file.
* gdk/makegdkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegdkalias.pl -def
* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
file.
* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
headers, include gdkaliasdef.c at the bottom.
2005-03-16 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c (_win32_on_clipboard_change): Print
......
2005-03-15 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gdk/gdk.symbols: Group symbols by header and source file.
* gdk/makegdkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegdkalias.pl -def
* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
file.
* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
headers, include gdkaliasdef.c at the bottom.
2005-03-16 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdisplay-win32.c (_win32_on_clipboard_change): Print
......
......@@ -177,11 +177,14 @@ uninstall-ms-lib:
endif
gdk.def: gdk.symbols
(echo -e EXPORTS; $(CPP) -P -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > gdk.def
(echo -e EXPORTS; $(CPP) -P -DALL_FILES -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > gdk.def
gdkalias.h: gdk.symbols
$(PERL) $(srcdir)/makegdkalias.pl < $(srcdir)/gdk.symbols > gdkalias.h
gdkaliasdef.c: gdk.symbols
$(PERL) $(srcdir)/makegdkalias.pl -def < $(srcdir)/gdk.symbols > gdkaliasdef.c
if OS_LINUX
TESTS = abicheck.sh
endif
......@@ -215,6 +218,7 @@ endif
#note: not gdkconfig.h
BUILT_SOURCES = \
gdkalias.h \
gdkaliasdef.c \
gdkenumtypes.h \
gdkenumtypes.c \
gdkmarshalers.h \
......@@ -235,8 +239,9 @@ stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) Makefile
&& echo timestamp > $(@F)
gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) Makefile
( cd $(srcdir) && glib-mkenums \
--fhead "#define GDK_ENABLE_BROKEN\n#include \"gdkalias.h\"\n#include \"gdk.h\"" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--fhead "#define GDK_ENABLE_BROKEN\n#include \"gdk.h\"\n#include \"gdkalias.h\"\n" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--ftail "\n#define __GDK_ENUM_TYPES_C__\n#include \"gdkaliasdef.c\"\n" \
--vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \
......
#! /bin/sh
cpp -P -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort > expected-abi
cpp -P -DALL_FILES -DGDK_ENABLE_BROKEN -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort > expected-abi
nm -D .libs/libgdk-x11-2.0.so | grep " T " | cut -d ' ' -f 3 | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi
......@@ -29,7 +29,6 @@
#include <string.h>
#include <stdlib.h>
#include "gdkalias.h"
#include "gdk.h"
#include "gdkinternals.h"
#include "gdkintl.h"
......@@ -37,6 +36,7 @@
#ifndef HAVE_XCONVERTCASE
#include "gdkkeysyms.h"
#endif
#include "gdkalias.h"
typedef struct _GdkPredicate GdkPredicate;
......@@ -455,3 +455,6 @@ gdk_set_program_class (const char *program_class)
gdk_progclass = g_strdup (program_class);
}
#define __GDK_C__
#include "gdkaliasdef.c"
This diff is collapsed.
......@@ -27,10 +27,10 @@
#include <config.h>
#include <time.h>
#include "gdkalias.h"
#include "gdkscreen.h"
#include "gdkcolor.h"
#include "gdkinternals.h"
#include "gdkalias.h"
/**
* gdk_colormap_ref:
......@@ -371,3 +371,5 @@ gdk_colormap_get_system (void)
return gdk_screen_get_system_colormap (gdk_screen_get_default ());
}
#define __GDK_COLOR_C__
#include "gdkaliasdef.c"
......@@ -25,10 +25,10 @@
*/
#include <config.h>
#include "gdkalias.h"
#include "gdkcursor.h"
#include "gdkdisplay.h"
#include "gdkinternals.h"
#include "gdkalias.h"
GType
gdk_cursor_get_type (void)
......@@ -98,3 +98,6 @@ gdk_cursor_new (GdkCursorType cursor_type)
{
return gdk_cursor_new_for_display (gdk_display_get_default(), cursor_type);
}
#define __GDK_CURSOR_C__
#include "gdkaliasdef.c"
......@@ -23,12 +23,12 @@
#include <config.h>
#include <glib.h>
#include "gdkalias.h"
#include "gdk.h" /* gdk_event_send_client_message() */
#include "gdkdisplay.h"
#include "gdkinternals.h"
#include "gdkmarshalers.h"
#include "gdkscreen.h"
#include "gdkalias.h"
enum {
CLOSED,
......@@ -647,4 +647,5 @@ gdk_set_pointer_hooks (const GdkPointerHooks *new_hooks)
return (GdkPointerHooks *)result;
}
#define __GDK_DISPLAY_C__
#include "gdkaliasdef.c"
......@@ -26,7 +26,7 @@
#include <config.h>
#include "gdkalias.h"
#include "gdkscreen.h"
#include "gdkdisplay.h"
#include "gdkdisplaymanager.h"
......@@ -35,6 +35,8 @@
#include "gdkintl.h"
#include "gdkalias.h"
struct _GdkDisplayManager
{
GObject parent_instance;
......@@ -277,3 +279,5 @@ gdk_display_manager_list_displays (GdkDisplayManager *display_manager)
return g_slist_copy (_gdk_displays);
}
#define __GDK_DISPLAY_MANAGER_C__
#include "gdkaliasdef.c"
......@@ -25,10 +25,10 @@
*/
#include <config.h>
#include "gdkalias.h"
#include <gdkdnd.h>
#include <gdkdrawable.h>
#include <gdkdisplay.h>
#include "gdkalias.h"
/**
* gdk_drag_find_window:
......@@ -77,6 +77,5 @@ gdk_drag_get_protocol (guint32 xid,
return gdk_drag_get_protocol_for_display (gdk_display_get_default (), xid, protocol);
}
#define __GDK_DND_C__
#include "gdkaliasdef.c"
......@@ -26,13 +26,13 @@
#include <config.h>
#include <math.h>
#include "gdkalias.h"
#include "gdkdrawable.h"
#include "gdkinternals.h"
#include "gdkwindow.h"
#include "gdkscreen.h"
#include "gdk-pixbuf-private.h"
#include "gdkpixbuf.h"
#include "gdkalias.h"
static GdkImage* gdk_drawable_real_get_image (GdkDrawable *drawable,
gint x,
......@@ -1965,3 +1965,6 @@ _gdk_drawable_get_scratch_gc (GdkDrawable *drawable,
return screen->normal_gcs[depth];
}
}
#define __GDK_DRAW_C__
#include "gdkaliasdef.c"
......@@ -27,9 +27,9 @@
#include <config.h>
#include <string.h> /* For memset() */
#include "gdkalias.h"
#include "gdk.h"
#include "gdkinternals.h"
#include "gdkalias.h"
typedef struct _GdkIOClosure GdkIOClosure;
......@@ -1221,3 +1221,6 @@ gdk_setting_get (const gchar *name,
{
return gdk_screen_get_setting (gdk_screen_get_default (), name, value);
}
#define __GDK_EVENTS_C__
#include "gdkaliasdef.c"
......@@ -27,10 +27,10 @@
#undef GDK_DISABLE_DEPRECATED
#include <config.h>
#include "gdkalias.h"
#include "gdkdisplay.h"
#include "gdkfont.h"
#include "gdkinternals.h"
#include "gdkalias.h"
GType
gdk_font_get_type (void)
......@@ -355,4 +355,5 @@ gdk_font_load (const gchar *font_name)
return gdk_font_load_for_display (gdk_display_get_default(), font_name);
}
#define __GDK_FONT_C__
#include "gdkaliasdef.c"
......@@ -27,10 +27,10 @@
#include <config.h>
#include <string.h>
#include "gdkalias.h"
#include "gdkgc.h"
#include "gdkrgb.h"
#include "gdkprivate.h"
#include "gdkalias.h"
static void gdk_gc_class_init (GObjectClass *class);
static void gdk_gc_finalize (GObject *object);
......@@ -723,3 +723,6 @@ gdk_gc_set_rgb_bg_color (GdkGC *gc,
gdk_rgb_find_color (cmap, &tmp_color);
gdk_gc_set_background (gc, &tmp_color);
}
#define __GDK_GC_C__
#include "gdkaliasdef.c"
......@@ -28,7 +28,6 @@
#include <stdio.h>
#include "gdkalias.h"
#include "gdktypes.h"
#include "gdkprivate.h"
......
......@@ -28,11 +28,11 @@
#include <stdlib.h>
#include <sys/types.h>
#include "gdkalias.h"
#include "gdk.h" /* For gdk_flush() */
#include "gdkimage.h"
#include "gdkprivate.h"
#include "gdkinternals.h" /* For scratch_image code */
#include "gdkalias.h"
/**
* gdk_image_ref:
......@@ -423,3 +423,6 @@ gdk_image_new (GdkImageType type,
return _gdk_image_new_for_depth (gdk_visual_get_screen (visual), type,
visual, width, height, -1);
}
#define __GDK_IMAGE_C__
#include "gdkaliasdef.c"
......@@ -29,9 +29,9 @@
#include <stdlib.h>
#include <string.h>
#include "gdkalias.h"
#include "gdkkeysyms.h"
#include "gdkinternals.h"
#include "gdkalias.h"
/* Key handling not part of the keymap */
......@@ -102,3 +102,5 @@ gdk_keyval_from_name (const gchar *keyval_name)
return GDK_VoidSymbol;
}
#define __GDK_KEYNAMES_C__
#include "gdkaliasdef.c"
......@@ -26,9 +26,9 @@
#include <config.h>
#include "gdkalias.h"
#include "gdkdisplay.h"
#include "gdkkeys.h"
#include "gdkalias.h"
enum {
DIRECTION_CHANGED,
......@@ -313,3 +313,6 @@ gdk_keymap_get_default (void)
{
return gdk_keymap_get_for_display (gdk_display_get_default ());
}
#define __GDK_KEYS_C__
#include "gdkaliasdef.c"
#include <config.h>
#include "gdkalias.h"
#include "gdk.h"
#include "gdkalias.h"
/* Thanks to Markus G. Kuhn <mkuhn@acm.org> for the ksysym<->Unicode
* mapping functions, from the xterm sources.
......@@ -1669,3 +1669,6 @@ gdk_unicode_to_keyval (guint32 wc)
*/
return wc | 0x01000000;
}
#define __GDK_KEYUNI_C__
#include "gdkaliasdef.c"
......@@ -19,13 +19,13 @@
#include <config.h>
#include <math.h>
#include "gdkalias.h"
#include "gdkcolor.h"
#include "gdkgc.h"
#include "gdkpango.h"
#include "gdkrgb.h"
#include "gdkprivate.h"
#include "gdkscreen.h"
#include "gdkalias.h"
/* This is for P_() ... a bit non-kosher, but works fine */
#include "gtk/gtkintl.h"
......@@ -1418,3 +1418,6 @@ gdk_pango_context_get (void)
{
return gdk_pango_context_get_for_screen (gdk_screen_get_default ());
}
#define __GDK_PANGO_C__
#include "gdkaliasdef.c"
......@@ -25,7 +25,6 @@
#include <config.h>
#include <stdio.h>
#include <string.h>
#include "gdkalias.h"
#include "gdkcolor.h"
#include "gdkimage.h"
#include "gdkvisual.h"
......@@ -34,6 +33,7 @@
#include "gdkpixmap.h"
#include "gdk-pixbuf-private.h"
#include "gdkinternals.h"
#include "gdkalias.h"
/* Some convenient names
*/
......@@ -1412,3 +1412,6 @@ gdk_pixbuf_get_from_image (GdkPixbuf *dest,
return dest;
}
#define __GDK_PIXBUF_DRAWABLE_C__
#include "gdkaliasdef.c"
......@@ -21,12 +21,12 @@
*/
#include <config.h>
#include "gdkalias.h"
#include <gdk/gdk.h>
#include "gdk-pixbuf-private.h"
#include "gdkpixbuf.h"
#include "gdkscreen.h"
#include "gdkinternals.h"
#include "gdkalias.h"
......@@ -328,3 +328,6 @@ gdk_pixbuf_render_pixmap_and_mask_for_colormap (GdkPixbuf *pixbuf,
*mask_return = NULL;
}
}
#define __GDK_PIXBUF_RENDER_C__
#include "gdkaliasdef.c"
......@@ -25,11 +25,11 @@
*/
#include <config.h>
#include "gdkalias.h"
#include "gdkpixmap.h"
#include "gdkinternals.h"
#include "gdkpixbuf.h"
#include "gdkscreen.h"
#include "gdkalias.h"
static GdkGC *gdk_pixmap_create_gc (GdkDrawable *drawable,
GdkGCValues *values,
......@@ -683,3 +683,6 @@ gdk_pixmap_real_get_screen (GdkDrawable *drawable)
{
return gdk_drawable_get_screen (GDK_PIXMAP_OBJECT (drawable)->impl);
}
#define __GDK_PIXMAP_C__
#include "gdkaliasdef.c"
......@@ -47,10 +47,10 @@ SOFTWARE.
#define SMALL_COORDINATE -LARGE_COORDINATE
#include <config.h>
#include "gdkalias.h"
#include <gdkregion.h>
#include "gdkregion-generic.h"
#include "gdkpoly-generic.h"
#include "gdkalias.h"
/*
* InsertEdgeInET
......@@ -618,3 +618,6 @@ gdk_region_polygon(GdkPoint *Pts, gint Count, GdkFillRule rule)
g_free (pETEs);
return(region);
}
#define __GDK_POLYREG_GENERIC_C__
#include "gdkaliasdef.c"
......@@ -25,8 +25,8 @@
*/
#include <config.h>
#include "gdkalias.h"
#include <gdk/gdk.h>
#include "gdkalias.h"
void
gdk_rectangle_union (GdkRectangle *src1,
......@@ -105,3 +105,6 @@ gdk_rectangle_get_type (void)
return our_type;
}
#define __GDK_RECTANGLE_C__
#include "gdkaliasdef.c"
......@@ -71,9 +71,9 @@ SOFTWARE.
#include <config.h>
#include <stdlib.h>
#include <string.h>
#include "gdkalias.h"
#include <gdkregion.h>
#include "gdkregion-generic.h"
#include "gdkalias.h"
#ifdef DEBUG
#include <stdio.h>
......@@ -1776,3 +1776,6 @@ gdk_region_spans_intersect_foreach (GdkRegion *region,
pbox++;
}
}
#define __GDK_REGION_GENERIC_C__
#include "gdkaliasdef.c"
......@@ -36,12 +36,12 @@
#define ENABLE_GRAYSCALE
#include "gdkalias.h"
#include "gdkprivate.h"
#include "gdkinternals.h" /* _gdk_windowing_get_bits_for_depth() */
#include "gdkrgb.h"
#include "gdkscreen.h"
#include "gdkalias.h"
#include <glib/gprintf.h>
typedef struct _GdkRgbInfo GdkRgbInfo;
......@@ -3695,3 +3695,6 @@ gdk_rgb_get_visual (void)
{
return gdk_screen_get_rgb_visual (gdk_screen_get_default ());
}
#define __GDK_RGB_C__
#include "gdkaliasdef.c"
......@@ -22,11 +22,11 @@
*/
#include <config.h>
#include "gdkalias.h"
#include "gdk.h" /* For gdk_rectangle_intersect() */
#include "gdkcolor.h"
#include "gdkwindow.h"
#include "gdkscreen.h"
#include "gdkalias.h"
static void gdk_screen_class_init (GdkScreenClass *klass);
static void gdk_screen_dispose (GObject *object);
......@@ -316,3 +316,6 @@ gdk_screen_height_mm (void)
{
return gdk_screen_get_height_mm (gdk_screen_get_default ());
}
#define __GDK_SCREEN_C__
#include "gdkaliasdef.c"
#include <config.h>
#include "gdkalias.h"
#include "gdkproperty.h"
#include "gdkdisplay.h"
#include "gdkselection.h"
#include "gdkalias.h"
gboolean
gdk_selection_owner_set (GdkWindow *owner,
......@@ -109,3 +109,5 @@ gdk_utf8_to_compound_text (const gchar *str,
ctext, length);
}
#define __GDK_SELECTION_C__
#include "gdkaliasdef.c"
......@@ -22,9 +22,9 @@
*/
#include <config.h>
#include "gdkalias.h"
#include "gdkvisual.h"
#include "gdkscreen.h"
#include "gdkalias.h"
/**
* gdk_list_visuals:
......@@ -59,3 +59,6 @@ gdk_visual_get_system (void)
{
return gdk_screen_get_system_visual (gdk_screen_get_default());
}
#define __GDK_VISUAL_C__
#include "gdkaliasdef.c"
......@@ -25,7 +25,6 @@
*/
#include <config.h>
#include "gdkalias.h"
#include "gdkwindow.h"
#include "gdkinternals.h"
#include "gdk.h" /* For gdk_rectangle_union() */
......@@ -33,6 +32,7 @@
#include "gdkdrawable.h"
#include "gdkpixmap.h"
#include "gdkscreen.h"
#include "gdkalias.h"
#define USE_BACKING_STORE /* Appears to work on Win32, too, now. */
......@@ -2883,3 +2883,5 @@ gdk_window_foreign_new (GdkNativeWindow anid)
return gdk_window_foreign_new_for_display (gdk_display_get_default (), anid);
}
#define __GDK_WINDOW_C__
#include "gdkaliasdef.c"
#!/usr/bin/perl -w
my $do_def = 0;
if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {
shift;
$do_def = 1;
}
print <<EOF;
/* Generated by makegdkalias.pl */
......@@ -9,39 +16,25 @@ print <<EOF;
#ifdef G_HAVE_GNUC_VISIBILITY
#ifdef GDK_ENABLE_BROKEN
#define WAS_BROKEN
#endif
#define GDK_ENABLE_BROKEN
#ifdef GDK_MULTIHEAD_SAFE
#define WAS_MULTIHEAD
#endif
#undef GDK_MULTIHEAD_SAVE
#ifdef GDK_DISABLE_DEPRECATED
#define WAS_NO_DEPR
#endif
#undef GDK_DISABLE_DEPRECATED
#ifdef G_DISABLE_DEPRECATED
#define WAS_NO_G_DEPR
#endif
#undef G_DISABLE_DEPRECATED
#include "gdk.h"
#ifdef GDK_WINDOWING_X11
#include "x11/gdkx.h"
#endif
#ifdef GDK_WINDOWING_WIN32
#include "win32/gdkwin32.h"
#endif
#ifdef GDK_WINDOWING_FB
#include "linux-fb/gdkfb.h"
#endif
EOF
if ($do_def) {
print <<EOF
#undef IN_FILE
#define IN_FILE defined
#undef IN_HEADER
#define IN_HEADER(x) 1
EOF
}
else {
print <<EOF
#define IN_FILE(x) 1
#define IN_HEADER defined
EOF
}
my $in_comment = 0;
my $in_skipped_section = 0;
......@@ -80,7 +73,7 @@ while (<>) {
next;
}
if ($_ =~ /^\#ifdef\s+INCLUDE_VARIABLES/)
if ($_ =~ /^\#ifdef\s+(INCLUDE_VARIABLES|INCLUDE_INTERNAL_SYMBOLS|ALL_FILES)/)
{
$in_skipped_section = 1;
}
......@@ -90,7 +83,14 @@ while (<>) {
next;
}
if ($_ =~ /^\#ifdef\s+G/)
if ($_ =~ /^\#ifn?def\s+G/)
{
print $_;
next;
}
if ($_ =~ /^\#if.*(IN_FILE|IN_HEADER)/)
{
print $_;
......@@ -112,39 +112,25 @@ while (<>) {
$attributes = "$attributes $word" unless $word eq "PRIVATE";
}
print <<EOF
if (!$do_def) {
print <<EOF
extern __typeof ($str) $alias __attribute((visibility("hidden")))$attributes;
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
\#define $str $alias
EOF
}
else {
print <<EOF
\#undef $str
extern __typeof ($str) $str __attribute((alias("$alias"), visibility("default")));
EOF
}
}
print <<EOF;
#ifndef WAS_BROKEN
#undef GDK_ENABLE_BROKEN
#else
#undef WAS_BROKEN
#endif
#ifdef WAS_MULTIHEAD
#define GDK_MULTIHEAD_SAFE
#undef WAS_MULTIHEAD
#endif
#ifdef WAS_NO_DEPR
#define GDK_DISABLE_DEPRECATED
#undef WAS_NO_DEPR
#endif
#ifdef WAS_NO_G_DEPR
#define G_DISABLE_DEPRECATED
#undef WAS_NO_G_DEPR
#endif
#endif /* G_HAVE_GNUC_VISIBILITY */
#endif /* DISABLE_VISIBILITY */
EOF
......@@ -48,9 +48,9 @@ in this Software without prior written authorization from The Open Group.
#include <X11/extensions/XIproto.h>
#endif
#include <X11/Xlibint.h>
#include "gdkalias.h"
#include "gdkasync.h"
#include "gdkx.h"
#include "gdkalias.h"
typedef struct _ChildInfoChildState ChildInfoChildState;