summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-01-07 12:57:17 -0500
committerColin Walters <walters@verbum.org>2013-01-07 12:57:17 -0500
commitf5631640751b5a998b3616db78dd5dcd9ee62126 (patch)
tree8a91c5d99f4eec16f87a2b467cf6578a815f5261 /tests
parent9efe417e2e636df49ff6fb822dc84e7ce72a0ce1 (diff)
downloadgobject-introspection-f5631640751b5a998b3616db78dd5dcd9ee62126.tar.gz
Clean up cairo handling somewhat
I'm building on RHEL6 which doesn't have cairo-gobject. Now, we tried to support this in that 'make' would succeed, but 'make check' would blow up. This patch allows more of 'make check' to succeed - I just need to figure out how to make the diff against the -expected.gir work. What's more important though, is this will allow gjs to also #define _GI_DISABLE_CAIRO.
Diffstat (limited to 'tests')
-rw-r--r--tests/scanner/Makefile.am21
-rw-r--r--tests/scanner/regress.c7
-rw-r--r--tests/scanner/regress.h6
3 files changed, 28 insertions, 6 deletions
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index e6001462..2753c505 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -36,7 +36,10 @@ libfoo_la_LIBADD = $(top_builddir)/libgirepository-1.0.la
libutility_la_SOURCES = $(srcdir)/utility.c $(srcdir)/utility.h
libgtkfrob_la_SOURCES = $(srcdir)/gtkfrob.c $(srcdir)/gtkfrob.h
libregress_la_SOURCES = $(srcdir)/regress.c $(srcdir)/regress.h
-libregress_la_LIBADD = $(GIO_LIBS) $(CAIRO_LIBS)
+libregress_la_LIBADD = $(GIO_LIBS)
+if HAVE_CAIRO
+libregress_la_LIBADD += $(CAIRO_LIBS)
+endif
libwarnlib_la_CFLAGS = $(AM_CFLAGS)
libwarnlib_la_SOURCES = $(srcdir)/warnlib.c $(srcdir)/warnlib.h
libwarnlib_la_LIBADD = $(GIO_LIBS)
@@ -46,7 +49,14 @@ libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
testsdir = $(datadir)/gobject-introspection-1.0/tests
tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES)
-libregress_la_CFLAGS = $(AM_CFLAGS) $(CAIRO_CFLAGS)
+libregress_la_CPPFLAGS =
+if !HAVE_CAIRO
+libregress_la_CPPFLAGS += -D_GI_DISABLE_CAIRO
+endif
+libregress_la_CFLAGS = $(AM_CFLAGS)
+if HAVE_CAIRO
+libregress_la_CFLAGS += $(CAIRO_CFLAGS)
+endif
libregress_la_LDFLAGS = $(AM_LDFLAGS)
@@ -72,9 +82,12 @@ GIRS += SLetter-1.0.gir
Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir libregress.la
Regress_1_0_gir_LIBS = libregress.la
-Regress_1_0_gir_INCLUDES = cairo-1.0 Gio-2.0
+Regress_1_0_gir_INCLUDES = Gio-2.0
+if HAVE_CAIRO
+Regress_1_0_gir_INCLUDES += cairo-1.0
+endif
Regress_1_0_gir_FILES = $(libregress_la_SOURCES)
-Regress_1_0_gir_SCANNERFLAGS = --c-include="regress.h" --warn-error
+Regress_1_0_gir_SCANNERFLAGS = --c-include="regress.h" --warn-error $(libregress_la_CPPFLAGS)
GIRS += Regress-1.0.gir
WarnLib-1.0.gir: $(top_builddir)/Gio-2.0.gir libwarnlib.la
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 06089c38..89dc8738 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -3,7 +3,6 @@
#include <stdlib.h>
#include <glib-object.h>
#include <gobject/gvaluecollector.h>
-#include <cairo-gobject.h>
#include "regress.h"
@@ -285,6 +284,7 @@ regress_test_value_return(int i)
/************************************************************************/
/* foreign structs */
+#ifndef _GI_DISABLE_CAIRO
/**
* regress_test_cairo_context_full_return:
*
@@ -365,6 +365,7 @@ regress_test_cairo_surface_full_out (cairo_surface_t **surface)
{
*surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 10, 10);
}
+#endif
/**
* regress_test_gvariant_i:
@@ -2298,6 +2299,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
1,
G_TYPE_OBJECT);
+#ifndef _GI_DISABLE_CAIRO
/**
* RegressTestObj::sig-with-foreign-struct:
* @self: an object
@@ -2314,6 +2316,7 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
G_TYPE_NONE,
1,
CAIRO_GOBJECT_TYPE_CONTEXT);
+#endif
regress_test_obj_signals[REGRESS_TEST_OBJ_SIGNAL_FIRST] =
g_signal_new ("first",
@@ -2620,6 +2623,7 @@ regress_test_obj_emit_sig_with_obj (RegressTestObj *obj)
g_object_unref (obj_param);
}
+#ifndef _GI_DISABLE_CAIRO
void
regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj)
{
@@ -2627,6 +2631,7 @@ regress_test_obj_emit_sig_with_foreign_struct (RegressTestObj *obj)
g_signal_emit_by_name (obj, "sig-with-foreign-struct", cr);
cairo_destroy (cr);
}
+#endif
void
regress_test_obj_emit_sig_with_int64 (RegressTestObj *obj)
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index d8a3002e..f243a14c 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -1,7 +1,9 @@
#ifndef __GITESTTYPES_H__
#define __GITESTTYPES_H__
-#include <cairo.h>
+#ifndef _GI_DISABLE_CAIRO
+#include <cairo-gobject.h>
+#endif
#include <glib-object.h>
#include <gio/gio.h>
#include <time.h>
@@ -129,6 +131,7 @@ int regress_test_int_value_arg(const GValue *v);
const GValue *regress_test_value_return(int i);
/* foreign structs */
+#ifndef _GI_DISABLE_CAIRO
cairo_t *regress_test_cairo_context_full_return (void);
void regress_test_cairo_context_none_in (cairo_t *context);
@@ -136,6 +139,7 @@ cairo_surface_t *regress_test_cairo_surface_none_return (void);
cairo_surface_t *regress_test_cairo_surface_full_return (void);
void regress_test_cairo_surface_none_in (cairo_surface_t *surface);
void regress_test_cairo_surface_full_out (cairo_surface_t **surface);
+#endif
/* versioning (deprecated, since, stability) */
void regress_test_versioning (void);