[gobject-introspection] tests/scanner: Decorate Symbols for Export



commit eab36c0001e22c0ee66246ae9a0b8018b2325c96
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Tue Aug 12 12:03:23 2014 +0800

    tests/scanner: Decorate Symbols for Export
    
    This updates the test headers and sources to decorate the symbols with the
    macro that can be used to export the symbols, and include config.h first in
    the c-sources so that the macro can be defined with the compiler directive
    to export the symbols.  Update the CFLAGS as well so that the header that
    defines the export decoration macro can be found.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=732669

 tests/scanner/Makefile.am  |   10 +-
 tests/scanner/annotation.c |    2 +
 tests/scanner/annotation.h |   94 ++++++++++
 tests/scanner/barapp.c     |    2 +
 tests/scanner/barapp.h     |    9 +
 tests/scanner/drawable.c   |    2 +
 tests/scanner/drawable.h   |   11 ++
 tests/scanner/foo.c        |    2 +
 tests/scanner/foo.h        |  145 +++++++++++++++
 tests/scanner/gettype.c    |    2 +
 tests/scanner/gettype.h    |   11 ++
 tests/scanner/gtkfrob.c    |    2 +
 tests/scanner/gtkfrob.h    |    2 +
 tests/scanner/regress.c    |    2 +
 tests/scanner/regress.h    |  419 ++++++++++++++++++++++++++++++++++++++++++++
 tests/scanner/sletter.c    |    1 +
 tests/scanner/sletter.h    |    7 +
 tests/scanner/typedefs.c   |    2 +
 tests/scanner/typedefs.h   |   12 ++
 tests/scanner/utility.c    |    2 +
 tests/scanner/utility.h    |    7 +
 tests/scanner/warnlib.h    |    7 +
 22 files changed, 752 insertions(+), 1 deletions(-)
---
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index 8b20141..92ab12a 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -20,8 +20,9 @@ EXTRA_LTLIBRARIES = \
        $(NULL)
 CLEANFILES += $(EXTRA_LTLIBRARIES)
 
+GI_SCANNER_CFLAGS = -I$(top_srcdir)/tests
 AM_CPPFLAGS = -I$(top_srcdir)/girepository
-AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS)
+AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) $(GI_HIDDEN_VISIBILITY_CFLAGS) 
$(GI_SCANNER_CFLAGS)
 # -rpath needed to force libtool to build a shared library for a check_LTLIBRARIES
 # target. See http://lists.gnu.org/archive/html/automake/2005-10/msg00107.html
 AM_LDFLAGS = -rpath /unused -avoid-version
@@ -82,6 +83,7 @@ EXTRA_DIST = $(EXPECTEDGIRS)
 
 SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la
 SLetter_1_0_gir_LIBS = libsletter.la
+SLetter_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 SLetter_1_0_gir_INCLUDES = Gio-2.0
 SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
 SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
@@ -100,6 +102,7 @@ GIRS += Regress-1.0.gir
 
 WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
 WarnLib_1_0_gir_LIBS = libwarnlib.la
+WarnLib_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 WarnLib_1_0_gir_INCLUDES = Gio-2.0
 WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
 WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
@@ -108,6 +111,7 @@ GIRS += WarnLib-1.0.gir
 Utility-1.0.gir: libutility.la
 Utility_1_0_gir_PACKAGES = gobject-2.0
 Utility_1_0_gir_LIBS = libutility.la
+Utility_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 Utility_1_0_gir_INCLUDES = GObject-2.0
 Utility_1_0_gir_FILES = $(libutility_la_SOURCES)
 Utility_1_0_gir_SCANNERFLAGS = --c-include="utility.h" --warn-error
@@ -117,6 +121,7 @@ GIRS += Utility-1.0.gir
 GtkFrob-1.0.gir: libgtkfrob.la
 GtkFrob_1_0_gir_PACKAGES = gobject-2.0
 GtkFrob_1_0_gir_LIBS = libgtkfrob.la
+GtkFrob_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 GtkFrob_1_0_gir_INCLUDES = GObject-2.0
 GtkFrob_1_0_gir_FILES = $(libgtkfrob_la_SOURCES)
 GtkFrob_1_0_gir_SCANNERFLAGS = --identifier-prefix=Gtk --symbol-prefix=gtk_frob --warn-error
@@ -127,6 +132,7 @@ GIRS += GtkFrob-1.0.gir
 GetType-1.0.gir: libgettype.la
 GetType_1_0_gir_PACKAGES = gobject-2.0
 GetType_1_0_gir_LIBS = libgettype.la
+GetType_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 GetType_1_0_gir_INCLUDES = GObject-2.0
 GetType_1_0_gir_FILES = $(libgettype_la_SOURCES)
 GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype
@@ -135,6 +141,7 @@ GIRS += GetType-1.0.gir
 Typedefs-1.0.gir: libtypedefs.la
 Typedefs_1_0_gir_PACKAGES = gobject-2.0
 Typedefs_1_0_gir_LIBS = libtypedefs.la
+Typedefs_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 Typedefs_1_0_gir_INCLUDES = GObject-2.0
 Typedefs_1_0_gir_FILES = $(libtypedefs_la_SOURCES)
 Typedefs_1_0_gir_SCANNERFLAGS = --c-include="typedefs.h" --identifier-prefix=Typedefs 
--symbol-prefix=typedefs
@@ -151,6 +158,7 @@ barapp_LDFLAGS = -export-dynamic
 Bar-1.0.gir: barapp
 Bar_1_0_gir_PACKAGES = gobject-2.0
 Bar_1_0_gir_PROGRAM = ./barapp
+Bar_1_0_gir_CFLAGS = $(GI_SCANNER_CFLAGS)
 Bar_1_0_gir_INCLUDES = GObject-2.0
 Bar_1_0_gir_FILES = $(barapp_SOURCES)
 Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed
diff --git a/tests/scanner/annotation.c b/tests/scanner/annotation.c
index 30dc72e..173db97 100644
--- a/tests/scanner/annotation.c
+++ b/tests/scanner/annotation.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include "annotation.h"
 
 char backslash_parsing_tester = '\\';
diff --git a/tests/scanner/annotation.h b/tests/scanner/annotation.h
index b0cbe42..07894df 100644
--- a/tests/scanner/annotation.h
+++ b/tests/scanner/annotation.h
@@ -1,6 +1,8 @@
 #ifndef __REGRESS_ANNOTATION_OBJECT_H__
 #define __REGRESS_ANNOTATION_OBJECT_H__
 
+#include "gitestmacros.h"
+
 #include <glib-object.h>
 
 typedef enum /*< flags,prefix=ANN >*/
@@ -58,95 +60,177 @@ struct _RegressAnnotationObjectClass
   GObjectClass parent_class;
 };
 
+_GI_TEST_EXTERN
 GType    regress_annotation_object_get_type (void);
 
+_GI_TEST_EXTERN
 gint     regress_annotation_object_method       (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_out          (RegressAnnotationObject *object,
                                         int              *outarg);
+
+_GI_TEST_EXTERN
 GObject* regress_annotation_object_create_object(RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 GObject* regress_annotation_object_allow_none   (RegressAnnotationObject *object,
                                         const gchar      *somearg);
+
+_GI_TEST_EXTERN
 GObject* regress_annotation_object_notrans      (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_inout        (RegressAnnotationObject *object,
                                         int              *inoutarg);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_inout2       (RegressAnnotationObject *object,
                                         int              *inoutarg);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_inout3       (RegressAnnotationObject *object,
                                         int              *inoutarg);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_in           (RegressAnnotationObject *object,
                                         int              *inarg);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_calleeowns   (RegressAnnotationObject *object,
                                         GObject          **toown);
+
+_GI_TEST_EXTERN
 gint     regress_annotation_object_calleesowns  (RegressAnnotationObject *object,
                                         GObject          **toown1,
                                         GObject          **toown2);
+
+_GI_TEST_EXTERN
 GList*   regress_annotation_object_get_strings  (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 GHashTable*regress_annotation_object_get_hash   (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_with_voidp   (RegressAnnotationObject *object,
                                         void             *data);
+
+_GI_TEST_EXTERN
 GSList*  regress_annotation_object_get_objects  (RegressAnnotationObject *object);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_use_buffer   (RegressAnnotationObject *object,
                                         guchar           *bytes);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_compute_sum  (RegressAnnotationObject *object,
                                         int              *nums);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_compute_sum_n(RegressAnnotationObject *object,
                                         int              *nums,
                                         int               n_nums);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_compute_sum_nz(RegressAnnotationObject *object,
                                           int             *nums,
                                           int              n_nums);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_parse_args   (RegressAnnotationObject *object,
                                          int              *argc,
                                          char           ***argv);
+
+_GI_TEST_EXTERN
 gboolean regress_annotation_object_string_out   (RegressAnnotationObject *object,
                                          char            **str_out);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_foreach      (RegressAnnotationObject *object,
                                          RegressAnnotationForeachFunc func,
                                          gpointer user_data);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_set_data     (RegressAnnotationObject *object,
                                          const guchar     *data,
                                          gsize             length);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_set_data2    (RegressAnnotationObject *object,
                                          const gchar      *data,
                                          gsize             length);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_set_data3    (RegressAnnotationObject *object,
                                          gpointer          data,
                                          gsize             length);
 
+
+_GI_TEST_EXTERN
 GObject* regress_annotation_object_do_not_use   (RegressAnnotationObject *object);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_watch        (RegressAnnotationObject *object,
                                          RegressAnnotationForeachFunc func,
                                          gpointer user_data);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_watch_full   (RegressAnnotationObject *object,
                                          RegressAnnotationForeachFunc func,
                                          gpointer user_data,
                                          GDestroyNotify destroy);
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_hidden_self  (gpointer object);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_init                (int              *argc, 
                                         char           ***argv);
+
+_GI_TEST_EXTERN
 char **  regress_annotation_return_array        (int             *length);
+
+_GI_TEST_EXTERN
 void     regress_annotation_versioned           (void);
+
+_GI_TEST_EXTERN
 char **  regress_annotation_string_zero_terminated (void);
+
+_GI_TEST_EXTERN
 void     regress_annotation_string_zero_terminated_out (char ***out);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_string_array_length (guint n_properties, const gchar * const properties[]);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_object_extra_annos (RegressAnnotationObject *object);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_custom_destroy (RegressAnnotationCallback callback,
                                     RegressAnnotationNotifyFunc destroy,
                                     gpointer data);
+
+_GI_TEST_EXTERN
 char *   regress_annotation_get_source_file (void);
+
+_GI_TEST_EXTERN
 void     regress_annotation_set_source_file (const char *fname);
 
+
+_GI_TEST_EXTERN
 gint     regress_annotation_attribute_func (RegressAnnotationObject *object,
                                     const gchar      *data);
 
+
+_GI_TEST_EXTERN
 void     regress_annotation_invalid_regress_annotation (int foo);
 
 /**
@@ -174,14 +258,24 @@ struct RegressAnnotationFields
   gulong len;
 };
 
+
+_GI_TEST_EXTERN
 void    regress_annotation_ptr_array (GPtrArray *array);
 
+
+_GI_TEST_EXTERN
 GObject  * regress_annotation_test_parsing_bug630862 (void);
 
+
+_GI_TEST_EXTERN
 void regress_annotation_space_after_comment_bug631690 (void);
 
+
+_GI_TEST_EXTERN
 gchar* regress_annotation_return_filename (void);
 
+
+_GI_TEST_EXTERN
 GObject * regress_annotation_transfer_floating(void);
 
 /* This one we can handle properly */
diff --git a/tests/scanner/barapp.c b/tests/scanner/barapp.c
index ed39120..6189531 100644
--- a/tests/scanner/barapp.c
+++ b/tests/scanner/barapp.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include "barapp.h"
 
 #include <girepository.h>
diff --git a/tests/scanner/barapp.h b/tests/scanner/barapp.h
index 12c39a5..8694ddb 100644
--- a/tests/scanner/barapp.h
+++ b/tests/scanner/barapp.h
@@ -1,6 +1,8 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
+
 #define BAR_TYPE_BAZ              (bar_baz_get_type ())
 #define BAR_BAZ(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), BAR_TYPE_BAZ, BarBaz))
 #define BAR_IS_BAZ(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), BAR_TYPE_BAZ))
@@ -18,9 +20,14 @@ struct BarBazClass
   GObjectClass parent_class;
 };
 
+_GI_TEST_EXTERN
 GType bar_baz_get_type          (void) G_GNUC_CONST;
 
+
+_GI_TEST_EXTERN
 void bar_app_func (void);
+
+_GI_TEST_EXTERN
 void bar_app_func2 (int x, double y);
 
 
@@ -45,6 +52,8 @@ struct MutterWindowClass
   GObjectClass parent_class;
 };
 
+_GI_TEST_EXTERN
 GType mutter_window_get_type          (void) G_GNUC_CONST;
 
+_GI_TEST_EXTERN
 void mutter_window_func (MutterWindow *window, guint v);
diff --git a/tests/scanner/drawable.c b/tests/scanner/drawable.c
index e378286..9c58bfe 100644
--- a/tests/scanner/drawable.c
+++ b/tests/scanner/drawable.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include "drawable.h"
 
 G_DEFINE_ABSTRACT_TYPE (RegressTestInheritDrawable, regress_test_inherit_drawable, G_TYPE_OBJECT);
diff --git a/tests/scanner/drawable.h b/tests/scanner/drawable.h
index 5838358..adf08da 100644
--- a/tests/scanner/drawable.h
+++ b/tests/scanner/drawable.h
@@ -3,6 +3,8 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
+
 typedef struct _RegressTestInheritDrawable RegressTestInheritDrawable;
 typedef struct _RegressTestInheritDrawableClass RegressTestInheritDrawableClass;
 
@@ -16,11 +18,20 @@ struct _RegressTestInheritDrawableClass
   GObjectClass parent_class;
 };
 
+_GI_TEST_EXTERN
 GType regress_test_inherit_drawable_get_type (void) G_GNUC_CONST;
 
+
+_GI_TEST_EXTERN
 void regress_test_inherit_drawable_do_foo (RegressTestInheritDrawable *drawable, int x);
+
+_GI_TEST_EXTERN
 void regress_test_inherit_drawable_get_origin (RegressTestInheritDrawable *drawable, int *x, int *y);
+
+_GI_TEST_EXTERN
 void regress_test_inherit_drawable_get_size (RegressTestInheritDrawable *drawable, guint *width, guint 
*height);
+
+_GI_TEST_EXTERN
 void regress_test_inherit_drawable_do_foo_maybe_throw (RegressTestInheritDrawable *drawable, int x, GError 
**error);
 
 typedef struct _RegressTestInheritPixmapObjectClass RegressTestInheritPixmapObjectClass;
diff --git a/tests/scanner/foo.c b/tests/scanner/foo.c
index 52b9054..66b2984 100644
--- a/tests/scanner/foo.c
+++ b/tests/scanner/foo.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "foo.h"
 
 /* A hidden type not exposed publicly, similar to GUPNP's XML wrapper
diff --git a/tests/scanner/foo.h b/tests/scanner/foo.h
index e097560..02d9b7c 100644
--- a/tests/scanner/foo.h
+++ b/tests/scanner/foo.h
@@ -3,6 +3,8 @@
 
 #include <glib-object.h>
 #include <gio/gio.h> /* GAsyncReadyCallback */
+
+#include "gitestmacros.h"
 #include "utility.h"
 
 #define REGRESS_FOO_SUCCESS_INT 0x1138
@@ -58,10 +60,16 @@ struct _RegressFooInterfaceIface
   void (*do_regress_foo) (RegressFooInterface *self, int x);
 };
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_interface_get_type       (void) G_GNUC_CONST;
 
+
+_GI_TEST_EXTERN
 void regress_foo_interface_do_regress_foo (RegressFooInterface *iface, int x);
 
+
+_GI_TEST_EXTERN
 void regress_foo_interface_static_method (int x);
 
 struct _RegressFooSubInterfaceIface
@@ -79,9 +87,15 @@ struct _RegressFooSubInterfaceIface
   void (*do_baz) (RegressFooSubInterface *self, GCallback callback, gpointer user_data);
 };
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_sub_interface_get_type       (void) G_GNUC_CONST;
 
+
+_GI_TEST_EXTERN
 void regress_foo_sub_interface_do_bar (RegressFooSubInterface *self);
+
+_GI_TEST_EXTERN
 void regress_foo_sub_interface_do_baz (RegressFooSubInterface *self,
                                        GCallback callback,
                                        gpointer user_data);
@@ -106,35 +120,67 @@ struct _RegressFooObjectClass
   GCallback _reserved[4];
 };
 
+
+_GI_TEST_EXTERN
 gint                  regress_foo_init                     (void);
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_object_get_type          (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 RegressFooObject*            regress_foo_object_new               (void);
+
+_GI_TEST_EXTERN
 UtilityObject*        regress_foo_object_external_type     (RegressFooObject *object);
+
+_GI_TEST_EXTERN
 GObject*              regress_foo_object_new_as_super      (void);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_various           (RegressFooObject *object, void *data, GType 
some_type);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_take_all          (RegressFooObject *object, int x, ...);
 
 typedef gpointer RegressFooObjectCookie;
 
+
+_GI_TEST_EXTERN
 RegressFooObjectCookie       regress_foo_object_new_cookie        (RegressFooObject *object, const char 
*target);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_is_it_time_yet    (RegressFooObject *object, time_t time);
 
+
+_GI_TEST_EXTERN
 const char *          regress_foo_object_get_name          (RegressFooObject *object);
 
+
+_GI_TEST_EXTERN
 char *                regress_foo_object_dup_name          (RegressFooObject *object);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_handle_glyph      (RegressFooObject *object, UtilityGlyph glyph);
 
+
+_GI_TEST_EXTERN
 gboolean              regress_foo_object_virtual_method    (RegressFooObject *object, int first_param);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_read              (RegressFooObject *object, int offset, int 
length);
 
+
+_GI_TEST_EXTERN
 int                   regress_foo_object_static_meth       (void);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_object_skipped_method    (RegressFooObject *object);
 
 struct _RegressFooSubobject
@@ -147,17 +193,31 @@ struct _RegressFooSubobjectClass
   RegressFooObjectClass parent_class;
 };
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_subobject_get_type       (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 RegressFooSubobject*         regress_foo_subobject_new            (void);
 
+
+_GI_TEST_EXTERN
 RegressFooObject *           regress_foo_object_get_default       (void);
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_buffer_get_type          (void);
 
+
+_GI_TEST_EXTERN
 void                  regress_foo_buffer_some_method       (RegressFooBuffer *buffer);
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_other_object_get_type    (void) G_GNUC_CONST;
 
+
+_GI_TEST_EXTERN
 RegressFooObject *           regress_foo_not_a_constructor_new    (void);
 
 typedef enum
@@ -167,10 +227,16 @@ typedef enum
   REGRESS_FOO_ENUM_DELTA
 } RegressFooEnumType;
 
+
+_GI_TEST_EXTERN
 GType regress_foo_enum_type_get_type (void);
 
+
+_GI_TEST_EXTERN
 int                   regress_foo_enum_type_method         (RegressFooEnumType regress_foo_enum);
 
+
+_GI_TEST_EXTERN
 RegressFooEnumType           regress_foo_enum_type_returnv        (int x);
 
 typedef enum
@@ -180,6 +246,8 @@ typedef enum
   REGRESS_FOO_FLAGS_THIRD  = 1 << 2
 } RegressFooFlagsType;
 
+
+_GI_TEST_EXTERN
 GType regress_foo_flags_type_get_type (void);
 
 typedef enum
@@ -213,18 +281,34 @@ typedef enum
 
 typedef struct _RegressFooBoxed RegressFooBoxed;
 
+
+_GI_TEST_EXTERN
 GType                 regress_foo_boxed_get_type       (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 RegressFooBoxed*             regress_foo_boxed_new            (void);
+
+_GI_TEST_EXTERN
 void                  regress_foo_boxed_method         (RegressFooBoxed* boxed);
 
 /* This one tests capitalization handling with respect to DBus */
 typedef struct _RegressFooDBusData RegressFooDBusData;
+
+_GI_TEST_EXTERN
 GType                 regress_foo_dbus_data_get_type       (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 void                  regress_foo_dbus_data_method         (RegressFooDBusData* dbusdata);
 
 /* FIXME: Scanner does not support this yet
+
+_GI_TEST_EXTERN
 const char *REGRESS_FOO_CONSTANT_STR = "regress_foo-constant-str";
+
+_GI_TEST_EXTERN
 const int REGRESS_FOO_CONSTANT_INT = 10;
+
+_GI_TEST_EXTERN
 const float REGRESS_FOO_CONSTANT_FLOAT = 10;
 */
 
@@ -255,14 +339,20 @@ struct _RegressFooRectangle
   gint height;
 };
 
+
+_GI_TEST_EXTERN
 void
 regress_foo_method_external_references (UtilityObject *object,
                                         UtilityEnumType e,
                                         UtilityFlagType f,
                                         UtilityStruct s);
 
+
+_GI_TEST_EXTERN
 void regress_foo_rectangle_add(RegressFooRectangle *r1, const RegressFooRectangle *r2);
 
+
+_GI_TEST_EXTERN
 RegressFooRectangle * regress_foo_rectangle_new (int x, int y, int width, int height);
 
 
@@ -301,10 +391,16 @@ struct _RegressFooBRect
   double y;
 };
 
+
+_GI_TEST_EXTERN
 GType regress_foo_brect_get_type (void);
 
+
+_GI_TEST_EXTERN
 RegressFooBRect *regress_foo_brect_new (double x, double y);
 
+
+_GI_TEST_EXTERN
 void regress_foo_brect_add (RegressFooBRect *b1, RegressFooBRect *b2);
 
 typedef union _RegressFooBUnion RegressFooBUnion;
@@ -338,36 +434,69 @@ struct _RegressFooThingWithArray
   guchar *data;
 } ;
 
+
+_GI_TEST_EXTERN
 RegressFooBUnion *regress_foo_bunion_new (void);
 
+
+_GI_TEST_EXTERN
 GType regress_foo_bunion_get_type (void);
 
+
+_GI_TEST_EXTERN
 int regress_foo_bunion_get_contained_type (RegressFooBUnion *bunion);
 
+
+_GI_TEST_EXTERN
 void regress_foo_test_unsigned_qualifier (unsigned int unsigned_param);
+
+_GI_TEST_EXTERN
 void regress_foo_test_unsigned_type (unsigned unsigned_param);
 
+
+_GI_TEST_EXTERN
 void regress_foo_test_string_array (char **array);
 
+
+_GI_TEST_EXTERN
 void regress_foo_test_string_array_with_g (gchar **array);
 
+
+_GI_TEST_EXTERN
 GArray *regress_foo_test_array (void);
 
+
+_GI_TEST_EXTERN
 const char * regress_foo_test_const_char_retval (void);
+
+_GI_TEST_EXTERN
 const RegressFooStruct * regress_foo_test_const_struct_retval (void);
+
+_GI_TEST_EXTERN
 void regress_foo_test_const_char_param (const char * param);
+
+_GI_TEST_EXTERN
 void regress_foo_test_const_struct_param (const RegressFooStruct * param);
 
 typedef void (*RegressFooVarargsCallback) (const char * param, ...);
+
+_GI_TEST_EXTERN
 void regress_foo_test_varargs_callback (gint i, RegressFooVarargsCallback callback);
+
+_GI_TEST_EXTERN
 void regress_foo_test_varargs_callback2 (RegressFooVarargsCallback callback);
+
+_GI_TEST_EXTERN
 void regress_foo_test_varargs_callback3 (RegressFooVarargsCallback callback,
                                          RegressFooVarargsCallback callback2);
 
 /* Make sure callbacks get the right scope by default */
+_GI_TEST_EXTERN
 void regress_foo_async_ready_callback(GCancellable *cancellable,
                                       GAsyncReadyCallback callback,
                                       gpointer user_data);
+
+_GI_TEST_EXTERN
 void regress_foo_destroy_notify_callback(RegressFooCallback callback,
                                          gpointer data,
                                          GDestroyNotify destroy);
@@ -377,8 +506,12 @@ typedef enum {
   REGRESS_FOO_ERROR_BAD,
   REGRESS_FOO_ERROR_UGLY
 } RegressFooError;
+
+_GI_TEST_EXTERN
 GType regress_foo_error_get_type (void);
 
+
+_GI_TEST_EXTERN
 GQuark regress_foo_error_quark (void);
 
 typedef enum
@@ -400,7 +533,11 @@ typedef enum
 } RegressFooASingle;
 
 /* Should be skipped */
+
+_GI_TEST_EXTERN
 void regress_foo_some_variant (guint x, va_list args);
+
+_GI_TEST_EXTERN
 void regress_foo_some_variant_ptr (guint x, va_list *args);
 
 /**
@@ -424,14 +561,22 @@ struct _RegressFooForeignStruct
   int regress_foo;
 };
 
+
+_GI_TEST_EXTERN
 RegressFooForeignStruct* regress_foo_foreign_struct_new (void);
+
+_GI_TEST_EXTERN
 RegressFooForeignStruct* regress_foo_foreign_struct_copy (RegressFooForeignStruct *original);
 
 /* This one should be a global, not a method on UtilityObject since
  * it's a separate namespace.
  */
+
+_GI_TEST_EXTERN
 void regress_foo_object_a_global_method (UtilityObject *obj);
 
+
+_GI_TEST_EXTERN
 RegressFooOtherObject * regress_foo_object_append_new_stack_layer (RegressFooObject *obj, int x);
 
 #endif /* __REGRESS_FOO_OBJECT_H__ */
diff --git a/tests/scanner/gettype.c b/tests/scanner/gettype.c
index a3c2d6b..fac94a4 100644
--- a/tests/scanner/gettype.c
+++ b/tests/scanner/gettype.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "gettype.h"
 
 G_DEFINE_TYPE (GetTypeObject, gettype_object, G_TYPE_OBJECT);
diff --git a/tests/scanner/gettype.h b/tests/scanner/gettype.h
index 755f091..5adab57 100644
--- a/tests/scanner/gettype.h
+++ b/tests/scanner/gettype.h
@@ -3,6 +3,8 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
+
 #define GETTYPE_TYPE_OBJECT            (gettype_object_get_type ())
 #define GETTYPE_OBJECT(object)         (G_TYPE_CHECK_INSTANCE_CAST ((object), GETTYPE_TYPE_OBJECT, 
GetTypeObject))
 #define GETTYPE_IS_OBJECT(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((object), GETTYPE_TYPE_OBJECT))
@@ -19,11 +21,20 @@ struct _GetTypeObjectClass
   GObjectClass parent_class;
 };
 
+_GI_TEST_EXTERN
 GType           gettype_object_get_type          (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 GetTypeObject*  gettype_object_new               (void);
 
+
+_GI_TEST_EXTERN
 GType           gettype_object_nonmeta1_get_type (GetTypeObject *obj);
+
+_GI_TEST_EXTERN
 gboolean        gettype_object_nonmeta2_get_type (void);
+
+_GI_TEST_EXTERN
 gboolean        gettype_object_nonmeta_get_gtype (void);
 
 #endif /* __GETTYPE_OBJECT_H__ */
diff --git a/tests/scanner/gtkfrob.c b/tests/scanner/gtkfrob.c
index d1c2312..fa08561 100644
--- a/tests/scanner/gtkfrob.c
+++ b/tests/scanner/gtkfrob.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include "gtkfrob.h"
 
 void
diff --git a/tests/scanner/gtkfrob.h b/tests/scanner/gtkfrob.h
index 06a282d..fb07974 100644
--- a/tests/scanner/gtkfrob.h
+++ b/tests/scanner/gtkfrob.h
@@ -3,9 +3,11 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
 
 /* A global function */
 
+_GI_TEST_EXTERN
 void gtk_frob_language_manager_get_default (void);
 
 #endif /* __GTKFROB_H__ */
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index e60b8e1..48d9e93 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include <string.h>
 #include <stdlib.h>
 #include <glib-object.h>
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index 3bbcb99..74a95b7 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -10,146 +10,344 @@
 #include <string.h>
 #include <stdlib.h>
 
+#include "gitestmacros.h"
+
+_GI_TEST_EXTERN
 void regress_set_abort_on_error (gboolean abort_on_error);
 
 /* basic types */
+_GI_TEST_EXTERN
 gboolean regress_test_boolean (gboolean in);
+
+_GI_TEST_EXTERN
 gboolean regress_test_boolean_true (gboolean in);
+
+_GI_TEST_EXTERN
 gboolean regress_test_boolean_false (gboolean in);
+
+_GI_TEST_EXTERN
 gint8 regress_test_int8 (gint8 in);
+
+_GI_TEST_EXTERN
 guint8 regress_test_uint8 (guint8 in);
+
+_GI_TEST_EXTERN
 gint16 regress_test_int16 (gint16 in);
+
+_GI_TEST_EXTERN
 guint16 regress_test_uint16 (guint16 in);
+
+_GI_TEST_EXTERN
 gint32 regress_test_int32 (gint32 in);
+
+_GI_TEST_EXTERN
 guint32 regress_test_uint32 (guint32 in);
+
+_GI_TEST_EXTERN
 gint64 regress_test_int64 (gint64 in);
+
+_GI_TEST_EXTERN
 guint64 regress_test_uint64 (guint64 in);
+
+_GI_TEST_EXTERN
 gshort regress_test_short (gshort in);
+
+_GI_TEST_EXTERN
 gushort regress_test_ushort (gushort in);
+
+_GI_TEST_EXTERN
 gint regress_test_int (gint in);
+
+_GI_TEST_EXTERN
 guint regress_test_uint (guint in);
+
+_GI_TEST_EXTERN
 glong regress_test_long (glong in);
+
+_GI_TEST_EXTERN
 gulong regress_test_ulong (gulong in);
+
+_GI_TEST_EXTERN
 gssize regress_test_ssize (gssize in);
+
+_GI_TEST_EXTERN
 gsize regress_test_size (gsize in);
+
+_GI_TEST_EXTERN
 gfloat regress_test_float (gfloat in);
+
+_GI_TEST_EXTERN
 gdouble regress_test_double (gdouble in);
+
+_GI_TEST_EXTERN
 gunichar regress_test_unichar (gunichar in);
+
+_GI_TEST_EXTERN
 time_t regress_test_timet (time_t in);
+
+_GI_TEST_EXTERN
 GType regress_test_gtype (GType in);
 
 /* utf8 */
+_GI_TEST_EXTERN
 const char *regress_test_utf8_const_return (void);
+
+_GI_TEST_EXTERN
 char *regress_test_utf8_nonconst_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_const_in (const char *in);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_out (char **out);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_inout (char **inout);
+
+_GI_TEST_EXTERN
 GSList *regress_test_filename_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_null_in (char *in);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_null_out (char **char_out);
 
 /* in arguments after out arguments */
+_GI_TEST_EXTERN
 void regress_test_int_out_utf8 (int *length, const char *in);
 
 /* multiple output arguments */
+
+_GI_TEST_EXTERN
 void regress_test_multi_double_args (gdouble in, gdouble *one, gdouble *two);
+
+_GI_TEST_EXTERN
 void regress_test_utf8_out_out (char **out0, char **out1);
+
+_GI_TEST_EXTERN
 char *regress_test_utf8_out_nonconst_return (char **out);
 
 /* non-basic-types */
 /* array */
+_GI_TEST_EXTERN
 gboolean regress_test_strv_in (char **arr);
+
+_GI_TEST_EXTERN
 int regress_test_array_int_in (int n_ints, int *ints);
+
+_GI_TEST_EXTERN
 void regress_test_array_int_out (int *n_ints, int **ints);
+
+_GI_TEST_EXTERN
 void regress_test_array_int_inout (int *n_ints, int **ints);
+
+_GI_TEST_EXTERN
 int regress_test_array_gint8_in (int n_ints, gint8 *ints);
+
+_GI_TEST_EXTERN
 int regress_test_array_gint16_in (int n_ints, gint16 *ints);
+
+_GI_TEST_EXTERN
 gint32 regress_test_array_gint32_in (int n_ints, gint32 *ints);
+
+_GI_TEST_EXTERN
 gint64 regress_test_array_gint64_in (int n_ints, gint64 *ints);
+
+_GI_TEST_EXTERN
 char *regress_test_array_gtype_in (int n_types, GType *types);
+
+_GI_TEST_EXTERN
 char **regress_test_strv_out_container (void);
+
+_GI_TEST_EXTERN
 char **regress_test_strv_out (void);
+
+_GI_TEST_EXTERN
 const char * const * regress_test_strv_out_c (void);
+
+_GI_TEST_EXTERN
 void   regress_test_strv_outarg (char ***retp);
+
+_GI_TEST_EXTERN
 int regress_test_array_fixed_size_int_in (int *ints);
+
+_GI_TEST_EXTERN
 void regress_test_array_fixed_size_int_out (int **ints);
+
+_GI_TEST_EXTERN
 int *regress_test_array_fixed_size_int_return (void);
 
 /* transfer tests */
+_GI_TEST_EXTERN
 int *regress_test_array_int_full_out(int *len);
+
+_GI_TEST_EXTERN
 int *regress_test_array_int_none_out(int *len);
+
+_GI_TEST_EXTERN
 void regress_test_array_int_null_in (int *arr, int len);
+
+_GI_TEST_EXTERN
 void regress_test_array_int_null_out (int **arr, int *len);
 
 /* interface */
 /* GList */
+_GI_TEST_EXTERN
 const GList *regress_test_glist_nothing_return (void);
+
+_GI_TEST_EXTERN
 GList *regress_test_glist_nothing_return2 (void);
+
+_GI_TEST_EXTERN
 GList *regress_test_glist_container_return (void);
+
+_GI_TEST_EXTERN
 GList *regress_test_glist_everything_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_glist_nothing_in (const GList *in);
+
+_GI_TEST_EXTERN
 void regress_test_glist_nothing_in2 (GList *in);
+
+_GI_TEST_EXTERN
 void regress_test_glist_null_in(GSList *in);
+
+_GI_TEST_EXTERN
 void regress_test_glist_null_out(GSList **out_list);
 
 /* GSList */
+_GI_TEST_EXTERN
 const GSList *regress_test_gslist_nothing_return (void);
+
+_GI_TEST_EXTERN
 GSList *regress_test_gslist_nothing_return2 (void);
+
+_GI_TEST_EXTERN
 GSList *regress_test_gslist_container_return (void);
+
+_GI_TEST_EXTERN
 GSList *regress_test_gslist_everything_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_gslist_nothing_in (const GSList *in);
+
+_GI_TEST_EXTERN
 void regress_test_gslist_nothing_in2 (GSList *in);
+
+_GI_TEST_EXTERN
 void regress_test_gslist_null_in(GSList *in);
+
+_GI_TEST_EXTERN
 void regress_test_gslist_null_out(GSList **out_list);
 
 /* GHashTable */
+_GI_TEST_EXTERN
 const GHashTable *regress_test_ghash_null_return (void);
+
+_GI_TEST_EXTERN
 const GHashTable *regress_test_ghash_nothing_return (void);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_nothing_return2 (void);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_gvalue_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_ghash_gvalue_in (GHashTable *hash);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_container_return (void);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_everything_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_ghash_null_in (const GHashTable *in);
+
+_GI_TEST_EXTERN
 void regress_test_ghash_null_out (const GHashTable **out);
+
+_GI_TEST_EXTERN
 void regress_test_ghash_nothing_in (const GHashTable *in);
+
+_GI_TEST_EXTERN
 void regress_test_ghash_nothing_in2 (GHashTable *in);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_nested_everything_return (void);
+
+_GI_TEST_EXTERN
 GHashTable *regress_test_ghash_nested_everything_return2 (void);
 
 /* GPtrArray */
+_GI_TEST_EXTERN
 GPtrArray *regress_test_garray_container_return (void);
+
+_GI_TEST_EXTERN
 GPtrArray *regress_test_garray_full_return (void);
 
 /* error? */
 
 /* closure */
+_GI_TEST_EXTERN
 int regress_test_closure (GClosure *closure);
+
+_GI_TEST_EXTERN
 int regress_test_closure_one_arg (GClosure *closure, int arg);
+
+_GI_TEST_EXTERN
 GVariant *regress_test_closure_variant (GClosure *closure, GVariant* arg);
 
 /* value */
+_GI_TEST_EXTERN
 int regress_test_int_value_arg(const GValue *v);
+
+_GI_TEST_EXTERN
 const GValue *regress_test_value_return(int i);
 
 /* foreign structs */
 #ifndef _GI_DISABLE_CAIRO
+_GI_TEST_EXTERN
 cairo_t *regress_test_cairo_context_full_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_cairo_context_none_in (cairo_t *context);
 
+
+_GI_TEST_EXTERN
 cairo_surface_t *regress_test_cairo_surface_none_return (void);
+
+_GI_TEST_EXTERN
 cairo_surface_t *regress_test_cairo_surface_full_return (void);
+
+_GI_TEST_EXTERN
 void regress_test_cairo_surface_none_in (cairo_surface_t *surface);
+
+_GI_TEST_EXTERN
 void regress_test_cairo_surface_full_out (cairo_surface_t **surface);
 #endif
 
 /* versioning (deprecated, since, stability) */
+_GI_TEST_EXTERN
 void regress_test_versioning (void);
 
+
+_GI_TEST_EXTERN
 GVariant *regress_test_gvariant_i (void);
+
+_GI_TEST_EXTERN
 GVariant *regress_test_gvariant_s (void);
+
+_GI_TEST_EXTERN
 GVariant *regress_test_gvariant_asv (void);
+
+_GI_TEST_EXTERN
 GVariant *regress_test_gvariant_v (void);
+
+_GI_TEST_EXTERN
 GVariant *regress_test_gvariant_as (void);
 
 /* enums / flags */
@@ -184,10 +382,15 @@ typedef enum
   REGRESS_TEST_FLAG3 = 1 << 2,
 } RegressTestFlags;
 
+_GI_TEST_EXTERN
 GType regress_test_enum_get_type (void) G_GNUC_CONST;
 #define REGRESS_TEST_TYPE_ENUM (regress_test_enum_get_type ())
+
+_GI_TEST_EXTERN
 GType regress_test_enum_unsigned_get_type (void) G_GNUC_CONST;
 #define REGRESS_TEST_TYPE_ENUM_UNSIGNED (regress_test_enum_unsigned_get_type ())
+
+_GI_TEST_EXTERN
 GType regress_test_flags_get_type (void) G_GNUC_CONST;
 #define REGRESS_TEST_TYPE_FLAGS (regress_test_flags_get_type ())
 
@@ -209,9 +412,14 @@ typedef enum
   REGRESS_TEST_EVALUE3 = '0'
 } RegressTestEnumNoGEnum;
 
+_GI_TEST_EXTERN
 const gchar * regress_test_enum_param(RegressTestEnum e);
+
+_GI_TEST_EXTERN
 const gchar * regress_test_unsigned_enum_param(RegressTestEnumUnsigned e);
 
+
+_GI_TEST_EXTERN
 void regress_global_get_flags_out (RegressTestFlags *v);
 
 /* error domains */
@@ -223,7 +431,10 @@ typedef enum
   REGRESS_TEST_ERROR_CODE3 = 3
 } RegressTestError;
 
+_GI_TEST_EXTERN
 GType regress_test_error_get_type (void);
+
+_GI_TEST_EXTERN
 GQuark regress_test_error_quark (void);
 
 /* Test weird names, with and without
@@ -236,7 +447,10 @@ typedef enum
   REGRESS_TEST_ABC_ERROR_CODE3 = 3
 } RegressTestABCError;
 
+_GI_TEST_EXTERN
 GType regress_test_abc_error_get_type (void);
+
+_GI_TEST_EXTERN
 GQuark regress_test_abc_error_quark (void);
 
 typedef enum
@@ -250,7 +464,10 @@ typedef enum
    The difference is intentional, although it
    is mainly meant for capitalization problems.
 */
+_GI_TEST_EXTERN
 GType regress_test_unconventional_error_get_type (void);
+
+_GI_TEST_EXTERN
 GQuark regress_test_unconventional_error_quark (void);
 
 typedef enum
@@ -260,6 +477,7 @@ typedef enum
   REGRESS_TEST_DEF_ERROR_CODE2 = 2
 } RegressTestDEFError;
 
+_GI_TEST_EXTERN
 GQuark regress_test_def_error_quark (void);
 
 /* the scanner used to have problem
@@ -273,6 +491,7 @@ typedef enum
   REGRESS_ATEST_ERROR_CODE2 = 2
 } RegressATestError;
 
+_GI_TEST_EXTERN
 GQuark regress_atest_error_quark (void);
 
 
@@ -305,8 +524,11 @@ struct _RegressTestStructA
   RegressTestEnum some_enum;
 };
 
+_GI_TEST_EXTERN
 void regress_test_struct_a_clone (RegressTestStructA *a,
                                  RegressTestStructA *a_out);
+
+_GI_TEST_EXTERN
 void regress_test_struct_a_parse (RegressTestStructA *a_out, const gchar *string);
 
 struct _RegressTestStructB
@@ -315,6 +537,7 @@ struct _RegressTestStructB
   RegressTestStructA nested_a;
 };
 
+_GI_TEST_EXTERN
 void regress_test_struct_b_clone (RegressTestStructB *b,
                          RegressTestStructB *b_out);
 
@@ -386,10 +609,17 @@ struct _RegressTestSimpleBoxedA
 };
 
 /* Intentionally uses _get_gtype */
+_GI_TEST_EXTERN
 GType                   regress_test_simple_boxed_a_get_gtype     (void);
+
+_GI_TEST_EXTERN
 RegressTestSimpleBoxedA *regress_test_simple_boxed_a_copy         (RegressTestSimpleBoxedA *a);
+
+_GI_TEST_EXTERN
 gboolean                regress_test_simple_boxed_a_equals       (RegressTestSimpleBoxedA *a,
                                                           RegressTestSimpleBoxedA *other_a);
+
+_GI_TEST_EXTERN
 const RegressTestSimpleBoxedA *regress_test_simple_boxed_a_const_return (void);
 
 
@@ -399,7 +629,11 @@ struct _RegressTestSimpleBoxedB
   RegressTestSimpleBoxedA nested_a;
 };
 
+
+_GI_TEST_EXTERN
 GType             regress_test_simple_boxed_b_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestSimpleBoxedB *regress_test_simple_boxed_b_copy     (RegressTestSimpleBoxedB *b);
 
 /* opaque boxed */
@@ -416,17 +650,34 @@ struct _RegressTestBoxed
   RegressTestBoxedPrivate *priv;
 };
 
+_GI_TEST_EXTERN
 GType      regress_test_boxed_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestBoxed *regress_test_boxed_new      (void);
+
+_GI_TEST_EXTERN
 RegressTestBoxed *regress_test_boxed_new_alternative_constructor1  (int i);
+
+_GI_TEST_EXTERN
 RegressTestBoxed *regress_test_boxed_new_alternative_constructor2  (int i, int j);
+
+_GI_TEST_EXTERN
 RegressTestBoxed *regress_test_boxed_new_alternative_constructor3  (char *s);
 
+
+_GI_TEST_EXTERN
 RegressTestBoxed *regress_test_boxed_copy     (RegressTestBoxed *boxed);
+
+_GI_TEST_EXTERN
 gboolean   regress_test_boxed_equals   (RegressTestBoxed *boxed,
                                        RegressTestBoxed *other);
 
+
+_GI_TEST_EXTERN
 void       regress_test_boxeds_not_a_method (RegressTestBoxed *boxed);
+
+_GI_TEST_EXTERN
 void       regress_test_boxeds_not_a_static (void);
 
 typedef struct _RegressTestBoxedB RegressTestBoxedB;
@@ -437,8 +688,14 @@ struct _RegressTestBoxedB
   glong some_long;
 };
 
+
+_GI_TEST_EXTERN
 GType regress_test_boxed_b_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestBoxedB *regress_test_boxed_b_new (gint8 some_int8, glong some_long);
+
+_GI_TEST_EXTERN
 RegressTestBoxedB *regress_test_boxed_b_copy (RegressTestBoxedB *boxed);
 
 typedef struct _RegressTestBoxedC RegressTestBoxedC;
@@ -449,17 +706,30 @@ struct _RegressTestBoxedC
   guint another_thing;
 };
 
+_GI_TEST_EXTERN
 GType regress_test_boxed_c_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestBoxedC *regress_test_boxed_c_new (void);
 
 typedef struct _RegressTestBoxedD RegressTestBoxedD;
 
+
+_GI_TEST_EXTERN
 GType regress_test_boxed_d_get_type (void);
 
+
+_GI_TEST_EXTERN
 RegressTestBoxedD *regress_test_boxed_d_new (const char *a_string, int a_int);
+
+_GI_TEST_EXTERN
 RegressTestBoxedD *regress_test_boxed_d_copy (RegressTestBoxedD *boxed);
+
+_GI_TEST_EXTERN
 void regress_test_boxed_d_free (RegressTestBoxedD *boxed);
 
+
+_GI_TEST_EXTERN
 int regress_test_boxed_d_get_magic (RegressTestBoxedD *boxed);
 
 /* gobject */
@@ -517,22 +787,51 @@ struct _RegressTestObjClass
   void (*_regress_reserved2) (void);
 };
 
+_GI_TEST_EXTERN
 GType      regress_test_obj_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestObj*   regress_test_obj_new (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 RegressTestObj*   regress_constructor (void);
+
+_GI_TEST_EXTERN
 RegressTestObj*   regress_test_obj_new_from_file (const char *x, GError **error);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_set_bare (RegressTestObj *obj, GObject *bare);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_emit_sig_with_obj (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_emit_sig_with_uint64 (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 int        regress_test_obj_instance_method (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 void       regress_test_obj_instance_method_full (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 double     regress_test_obj_static_method (int x);
+
+_GI_TEST_EXTERN
 void       regress_forced_method (RegressTestObj *obj);
 
+
+_GI_TEST_EXTERN
 void regress_test_array_fixed_out_objects (RegressTestObj ***objs);
 
+
+_GI_TEST_EXTERN
 void regress_test_obj_torture_signature_0 (RegressTestObj    *obj,
                                    int        x,
                                    double     *y,
@@ -540,6 +839,8 @@ void regress_test_obj_torture_signature_0 (RegressTestObj    *obj,
                                    const char *foo,
                                    int        *q,
                                    guint       m);
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_torture_signature_1 (RegressTestObj    *obj,
                                        int        x,
                                        double     *y,
@@ -549,6 +850,8 @@ gboolean regress_test_obj_torture_signature_1 (RegressTestObj    *obj,
                                        guint       m,
                                        GError    **error);
 
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_skip_return_val (RegressTestObj *obj,
                                            gint            a,
                                            gint           *out_b,
@@ -559,10 +862,14 @@ gboolean regress_test_obj_skip_return_val (RegressTestObj *obj,
                                            gint            num2,
                                            GError        **error);
 
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_skip_return_val_no_out (RegressTestObj *obj,
                                                   gint            a,
                                                   GError        **error);
 
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_skip_param (RegressTestObj *obj,
                                       gint            a,
                                       gint           *out_b,
@@ -573,6 +880,8 @@ gboolean regress_test_obj_skip_param (RegressTestObj *obj,
                                       gint            num2,
                                       GError        **error);
 
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_skip_out_param (RegressTestObj *obj,
                                           gint            a,
                                           gint           *out_b,
@@ -583,6 +892,8 @@ gboolean regress_test_obj_skip_out_param (RegressTestObj *obj,
                                           gint            num2,
                                           GError        **error);
 
+
+_GI_TEST_EXTERN
 gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj,
                                             gint            a,
                                             gint           *out_b,
@@ -594,9 +905,14 @@ gboolean regress_test_obj_skip_inout_param (RegressTestObj *obj,
                                             GError        **error);
 
 /* virtual */
+_GI_TEST_EXTERN
 int        regress_test_obj_do_matrix (RegressTestObj *obj, const char *somestr);
 
+
+_GI_TEST_EXTERN
 void regress_func_obj_null_in (RegressTestObj *obj);
+
+_GI_TEST_EXTERN
 void regress_test_obj_null_out (RegressTestObj **obj);
 
 /* inheritance */
@@ -618,9 +934,17 @@ struct _RegressTestSubObjClass
   RegressTestObjClass parent_class;
 };
 
+
+_GI_TEST_EXTERN
 GType       regress_test_sub_obj_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestObj* regress_test_sub_obj_new (void);
+
+_GI_TEST_EXTERN
 void        regress_test_sub_obj_unset_bare (RegressTestSubObj *obj);
+
+_GI_TEST_EXTERN
 int         regress_test_sub_obj_instance_method (RegressTestSubObj *obj);
 
 /* fundamental object */
@@ -656,13 +980,21 @@ struct _RegressTestFundamentalObjectClass {
   RegressTestFundamentalObjectFinalizeFunction finalize;
 };
 
+_GI_TEST_EXTERN
 GType                 regress_test_fundamental_object_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestFundamentalObject* regress_test_fundamental_object_ref      (RegressTestFundamentalObject 
*fundamental_object);
+
+_GI_TEST_EXTERN
 void                  regress_test_fundamental_object_unref    (RegressTestFundamentalObject 
*fundamental_object);
 
 #define REGRESS_TEST_VALUE_HOLDS_FUNDAMENTAL_OBJECT(value)  (G_VALUE_HOLDS(value, 
REGRESS_TEST_TYPE_FUNDAMENTAL_OBJECT))
 
+_GI_TEST_EXTERN
 void                  regress_test_value_set_fundamental_object (GValue *value, RegressTestFundamentalObject 
*fundamental_object);
+
+_GI_TEST_EXTERN
 RegressTestFundamentalObject* regress_test_value_get_fundamental_object (const GValue *value);
 
 typedef struct _RegressTestFundamentalSubObject RegressTestFundamentalSubObject;
@@ -678,8 +1010,12 @@ struct _RegressTestFundamentalSubObjectClass {
   RegressTestFundamentalObjectClass fundamental_object_class;
 };
 
+
+_GI_TEST_EXTERN
 GType regress_test_fundamental_sub_object_get_type(void);
 
+
+_GI_TEST_EXTERN
 RegressTestFundamentalSubObject *
 regress_test_fundamental_sub_object_new (const char *data);
 
@@ -720,35 +1056,74 @@ typedef int (*RegressTestCallbackArray) (int *one, gsize one_length, const char*
  */
 typedef void (* RegressTestCallbackArrayInOut) (int **ints, int *length);
 
+_GI_TEST_EXTERN
 void regress_test_simple_callback (RegressTestSimpleCallback callback);
+
+_GI_TEST_EXTERN
 int regress_test_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
 int regress_test_multi_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
 int regress_test_array_callback (RegressTestCallbackArray callback);
+
+_GI_TEST_EXTERN
 int regress_test_array_inout_callback (RegressTestCallbackArrayInOut callback);
+
+_GI_TEST_EXTERN
 int regress_test_callback_user_data (RegressTestCallbackUserData callback,
                              gpointer user_data);
+
+_GI_TEST_EXTERN
 int regress_test_callback_destroy_notify (RegressTestCallbackUserData callback,
                                   gpointer user_data,
                                   GDestroyNotify notify);
+
+_GI_TEST_EXTERN
 int regress_test_callback_destroy_notify_no_user_data (RegressTestCallbackUserData callback,
                                   GDestroyNotify notify);
+
+_GI_TEST_EXTERN
 int regress_test_callback_thaw_notifications (void);
 
+
+_GI_TEST_EXTERN
 void regress_test_callback_async (RegressTestCallbackUserData callback, gpointer user_data);
+
+_GI_TEST_EXTERN
 int regress_test_callback_thaw_async (void);
 
+
+_GI_TEST_EXTERN
 void regress_test_async_ready_callback (GAsyncReadyCallback callback);
 
+
+_GI_TEST_EXTERN
 void regress_test_obj_instance_method_callback (RegressTestObj *obj, RegressTestCallback callback);
+
+_GI_TEST_EXTERN
 void regress_test_obj_static_method_callback (RegressTestCallback callback);
+
+_GI_TEST_EXTERN
 RegressTestObj *regress_test_obj_new_callback (RegressTestCallbackUserData callback,
                                 gpointer user_data,
                                 GDestroyNotify notify);
+
+_GI_TEST_EXTERN
 void regress_test_hash_table_callback (GHashTable *data, RegressTestCallbackHashtable callback);
+
+_GI_TEST_EXTERN
 void regress_test_gerror_callback (RegressTestCallbackGError callback);
+
+_GI_TEST_EXTERN
 void regress_test_null_gerror_callback (RegressTestCallbackGError callback);
+
+_GI_TEST_EXTERN
 void regress_test_owned_gerror_callback (RegressTestCallbackOwnedGError callback);
 
+
+_GI_TEST_EXTERN
 void regress_test_skip_unannotated_callback (RegressTestCallback callback);
 
 typedef struct _RegressTestInterface RegressTestInterface;
@@ -765,6 +1140,7 @@ struct _RegressTestInterfaceIface {
     GTypeInterface base_iface;
 };
 
+_GI_TEST_EXTERN
 GType regress_test_interface_get_type (void) G_GNUC_CONST;
 
 /* gobject with non-standard prefix */
@@ -785,10 +1161,20 @@ typedef struct
   GObjectClass parent_class;
 } RegressTestWi8021xClass;
 
+
+_GI_TEST_EXTERN
 GType        regress_test_wi_802_1x_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestWi8021x* regress_test_wi_802_1x_new (void);
+
+_GI_TEST_EXTERN
 gboolean     regress_test_wi_802_1x_get_testbool (RegressTestWi8021x *obj);
+
+_GI_TEST_EXTERN
 void         regress_test_wi_802_1x_set_testbool (RegressTestWi8021x *obj, gboolean v);
+
+_GI_TEST_EXTERN
 int          regress_test_wi_802_1x_static_method (int x);
 
 /* floating gobject */
@@ -807,16 +1193,24 @@ typedef struct
   GInitiallyUnownedClass parent_class;
 } RegressTestFloatingClass;
 
+
+_GI_TEST_EXTERN
 GType        regress_test_floating_get_type (void);
+
+_GI_TEST_EXTERN
 RegressTestFloating* regress_test_floating_new (void);
 
 /* Function signature torture tests */
+
+_GI_TEST_EXTERN
 void regress_test_torture_signature_0 (int        x,
                                double     *y,
                                int        *z,
                                const char *foo,
                                int        *q,
                                guint       m);
+
+_GI_TEST_EXTERN
 gboolean regress_test_torture_signature_1 (int        x,
                                    double     *y,
                                    int        *z,
@@ -824,6 +1218,8 @@ gboolean regress_test_torture_signature_1 (int        x,
                                    int        *q,
                                    guint       m,
                                    GError    **error);
+
+_GI_TEST_EXTERN
 void regress_test_torture_signature_2 (int                  x,
                                       RegressTestCallbackUserData  callback,
                                       gpointer              user_data,
@@ -834,12 +1230,22 @@ void regress_test_torture_signature_2 (int                  x,
                                       int                  *q,
                                       guint                 m);
 
+
+_GI_TEST_EXTERN
 GValue *regress_test_date_in_gvalue (void);
+
+_GI_TEST_EXTERN
 GValue *regress_test_strv_in_gvalue (void);
 
+
+_GI_TEST_EXTERN
 GObject * _regress_this_is_a_private_symbol (void);
 
+
+_GI_TEST_EXTERN
 void regress_test_multiline_doc_comments (void);
+
+_GI_TEST_EXTERN
 void regress_test_nested_parameter (int a);
 
 /**
@@ -854,6 +1260,8 @@ typedef struct
   double v;
 } RegressSkippedStructure;
 
+
+_GI_TEST_EXTERN
 void regress_random_function_with_skipped_structure (int x,
                                                     RegressSkippedStructure *foo,
                                                     double v);
@@ -881,6 +1289,8 @@ typedef RegressIntset RegressIntSet;
  */
 typedef GPtrArray RegressPtrArrayAlias;
 
+
+_GI_TEST_EXTERN
 void regress_introspectable_via_alias (RegressPtrArrayAlias *data);
 
 /**
@@ -890,6 +1300,8 @@ void regress_introspectable_via_alias (RegressPtrArrayAlias *data);
  */
 typedef va_list RegressVaListAlias;
 
+
+_GI_TEST_EXTERN
 void regress_not_introspectable_via_alias (RegressVaListAlias ok);
 
 /**
@@ -899,6 +1311,8 @@ void regress_not_introspectable_via_alias (RegressVaListAlias ok);
  */
 typedef RegressTestBoxed RegressAliasedTestBoxed;
 
+
+_GI_TEST_EXTERN
 void regress_aliased_caller_alloc (RegressAliasedTestBoxed *boxed);
 
 /* private testing */
@@ -924,12 +1338,16 @@ typedef struct {
   gint array[10];
 } RegressTestStructFixedArray;
 
+
+_GI_TEST_EXTERN
 void regress_test_struct_fixed_array_frob (RegressTestStructFixedArray *str);
 
 typedef struct {
   gchar name[32];
 } RegressLikeXklConfigItem;
 
+
+_GI_TEST_EXTERN
 void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
                                             const char *name);
 
@@ -947,6 +1365,7 @@ void regress_like_xkl_config_item_set_name (RegressLikeXklConfigItem *self,
        "POWERSHARE,PRODIGY,TLX,X400,GIF,CGM,WMF,BMP,MET,PMB,DIB,PICT,TIFF," \
        "PDF,PS,JPEG,QTIME,MPEG,MPEG2,AVI,WAVE,AIFF,PCM,X509,PGP"
 
+_GI_TEST_EXTERN
 void regress_has_parameter_named_attrs (int        foo,
                                         gpointer   attributes);
 
diff --git a/tests/scanner/sletter.c b/tests/scanner/sletter.c
index a6e7bcc..8cb6db5 100644
--- a/tests/scanner/sletter.c
+++ b/tests/scanner/sletter.c
@@ -1,4 +1,5 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
 
 #include "sletter.h"
 
diff --git a/tests/scanner/sletter.h b/tests/scanner/sletter.h
index 20797f6..f6a146d 100644
--- a/tests/scanner/sletter.h
+++ b/tests/scanner/sletter.h
@@ -3,11 +3,14 @@
 
 #include <gio/gio.h>
 
+#include "gitestmacros.h"
+
 typedef struct {
   double x;
   double y;
 } SPoint;
 
+_GI_TEST_EXTERN
 void s_hello (void);
 
 /* Like GSpawnError; not registered with GType */
@@ -17,6 +20,8 @@ typedef enum
   S_SPAWN_ERROR_CODE2 = 2,
   S_SPAWN_ERROR_CODE3 = 3
 } SSpawnError;
+
+_GI_TEST_EXTERN
 GQuark s_spawn_error_quark (void);
 
 /* Like GDBusError but not registered with GType */
@@ -26,6 +31,8 @@ typedef enum
   S_DBUS_ERROR_CODE2 = 2,
   S_DBUS_ERROR_CODE3 = 3
 } SDBusError;
+
+_GI_TEST_EXTERN
 GQuark s_dbus_error_quark (void);
 
 #endif
diff --git a/tests/scanner/typedefs.c b/tests/scanner/typedefs.c
index 7c1dea1..03614b6 100644
--- a/tests/scanner/typedefs.c
+++ b/tests/scanner/typedefs.c
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "typedefs.h"
 
 static TypedefsBoxedWithTypedefBefore *
diff --git a/tests/scanner/typedefs.h b/tests/scanner/typedefs.h
index 2a5d8be..7eaa73b 100644
--- a/tests/scanner/typedefs.h
+++ b/tests/scanner/typedefs.h
@@ -3,6 +3,8 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
+
 /*
  * Tests for various orderings of typedef struct declarations.
  */
@@ -40,6 +42,8 @@ typedef struct _TypedefsBoxedWithTypedefBefore TypedefsBoxedWithTypedefBefore;
 struct _TypedefsBoxedWithTypedefBefore {
     int value;
 };
+
+_GI_TEST_EXTERN
 GType typedefs_boxed_with_typedef_before_get_type (void) G_GNUC_CONST;
 
 
@@ -48,6 +52,8 @@ struct _TypedefsBoxedWithTypedefAfter {
     int value;
 };
 typedef struct _TypedefsBoxedWithTypedefAfter TypedefsBoxedWithTypedefAfter;
+
+_GI_TEST_EXTERN
 GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
 
 
@@ -55,6 +61,8 @@ GType typedefs_boxed_with_typedef_after_get_type (void) G_GNUC_CONST;
 typedef struct _TypedefsBoxedWithTagAndTypedef {
     int value;
 } TypedefsBoxedWithTagAndTypedef;
+
+_GI_TEST_EXTERN
 GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
 
 
@@ -62,11 +70,15 @@ GType typedefs_boxed_with_tag_and_typedef_get_type (void) G_GNUC_CONST;
 typedef struct {
     int value;
 } TypedefsBoxedWithAnonymousTypedef;
+
+_GI_TEST_EXTERN
 GType typedefs_boxed_with_anonymous_typedef_get_type (void) G_GNUC_CONST;
 
 
 /* BUG: uses <record> instead of <glib:boxed> */
 typedef struct _TypedefsBoxedWithHiddenStruct TypedefsBoxedWithHiddenStruct;
+
+_GI_TEST_EXTERN
 GType typedefs_boxed_with_hidden_struct_get_type (void) G_GNUC_CONST;
 
 
diff --git a/tests/scanner/utility.c b/tests/scanner/utility.c
index fb1cf5a..c5e48a4 100644
--- a/tests/scanner/utility.c
+++ b/tests/scanner/utility.c
@@ -1,4 +1,6 @@
 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+#include "config.h"
+
 #include "utility.h"
 
 G_DEFINE_TYPE (UtilityObject, utility_object, G_TYPE_OBJECT);
diff --git a/tests/scanner/utility.h b/tests/scanner/utility.h
index 8dc6d54..ff1c382 100644
--- a/tests/scanner/utility.h
+++ b/tests/scanner/utility.h
@@ -3,6 +3,8 @@
 
 #include <glib-object.h>
 
+#include "gitestmacros.h"
+
 #define UTILITY_TYPE_OBJECT              (utility_object_get_type ())
 #define UTILITY_OBJECT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), UTILITY_TYPE_OBJECT, 
UtilityObject))
 #define UTILITY_IS_OBJECT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), UTILITY_TYPE_OBJECT))
@@ -53,7 +55,11 @@ typedef struct
 
 typedef void (*UtilityFileFunc)(const char *path, gpointer user_data);
 
+
+_GI_TEST_EXTERN
 GType                 utility_object_get_type          (void) G_GNUC_CONST;
+
+_GI_TEST_EXTERN
 void                  utility_object_watch_dir         (UtilityObject *object,
                                                         const char *path,
                                                         UtilityFileFunc func,
@@ -90,6 +96,7 @@ typedef union
   double real;
 } UtilityUnion;
 
+_GI_TEST_EXTERN
 void utility_dir_foreach (const char *path, UtilityFileFunc func, gpointer user_data);
 
 #endif /* __UTILITY_H__ */
diff --git a/tests/scanner/warnlib.h b/tests/scanner/warnlib.h
index a4c28b4..546e8ea 100644
--- a/tests/scanner/warnlib.h
+++ b/tests/scanner/warnlib.h
@@ -5,9 +5,13 @@
 
 #include <gio/gio.h>
 
+#include "gitestmacros.h"
+
 #define WARNLIB_UNPAIRED_ERROR (warnlib_unpaired_error_quark ())
+_GI_TEST_EXTERN
 GQuark warnlib_unpaired_error_quark (void);
 
+_GI_TEST_EXTERN
 gboolean warnlib_throw_unpaired (GError **error);
 
 /* interface */
@@ -31,9 +35,12 @@ struct _WarnLibWhateverIface
   void (*do_boo) (WarnLibWhatever *self, int x, gpointer y);
 };
 
+_GI_TEST_EXTERN
 void warnlib_whatever_do_moo (WarnLibWhatever *self, int, gpointer);
+_GI_TEST_EXTERN
 void warnlib_whatever_do_boo (WarnLibWhatever *self, int, gpointer);
 
+_GI_TEST_EXTERN
 GType warnlib_whatever_get_type (void) G_GNUC_CONST;
 
 #endif


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]