summaryrefslogtreecommitdiff
path: root/tests/scanner/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scanner/Makefile.am')
-rw-r--r--tests/scanner/Makefile.am174
1 files changed, 137 insertions, 37 deletions
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am
index 96923550..a3069a8b 100644
--- a/tests/scanner/Makefile.am
+++ b/tests/scanner/Makefile.am
@@ -7,13 +7,11 @@ INTROSPECTION_SCANNER_ARGS += --warn-all
check_LTLIBRARIES = \
libsletter.la \
- libannotation.la \
- libtestinherit.la \
- libfoo.la \
libutility.la \
libgtkfrob.la \
libgettype.la \
libregress.la \
+ libwarnlib.la \
$(NULL)
AM_CPPFLAGS = -I$(top_srcdir)/girepository
@@ -28,20 +26,37 @@ libsletter_la_LIBADD = $(GIO_LIBS)
libsletter_la_CFLAGS = $(AM_CFLAGS)
libsletter_la_LDFLAGS = $(AM_LDFLAGS)
-libannotation_la_SOURCES = $(srcdir)/annotation.c $(srcdir)/annotation.h
-libtestinherit_la_SOURCES = $(srcdir)/drawable.c $(srcdir)/drawable.h
-libfoo_la_SOURCES = $(srcdir)/foo.c $(srcdir)/foo.h
-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_SOURCES = \
+ $(srcdir)/regress.c $(srcdir)/regress.h \
+ $(srcdir)/annotation.c $(srcdir)/annotation.h \
+ $(srcdir)/foo.c $(srcdir)/foo.h \
+ $(srcdir)/drawable.c $(srcdir)/drawable.h \
+ $(NULL)
+REGRESS_PRINT_PREVIEW_COMMAND="evince --unlink-tempfile --preview --print-settings %s %f"
+libregress_la_CPPFLAGS = -DREGRESS_PRINT_PREVIEW_COMMAND=\"$(REGRESS_PRINT_PREVIEW_COMMAND)\" \
+ -DREGRESS_SOME_CHAR=\'c\'
+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)
+libwarnlib_la_LDFLAGS = -export-symbols-regex '^warnlib_' -no-undefined
libgettype_la_SOURCES = $(srcdir)/gettype.c $(srcdir)/gettype.h
testsdir = $(datadir)/gobject-introspection-1.0/tests
-tests_DATA = $(libregress_la_SOURCES)
+tests_DATA = $(libregress_la_SOURCES) $(libwarnlib_la_SOURCES) $(libutility_la_SOURCES)
-libregress_la_CFLAGS = $(AM_CFLAGS) $(CAIRO_CFLAGS)
+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)
@@ -65,36 +80,23 @@ SLetter_1_0_gir_FILES = $(libsletter_la_SOURCES)
SLetter_1_0_gir_SCANNERFLAGS = --identifier-prefix=S --c-include="sletter.h" --warn-error
GIRS += SLetter-1.0.gir
-Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir libregress.la
+Regress-1.0.gir: $(top_builddir)/Gio-2.0.gir Utility-1.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_CFLAGS = $(libregress_la_CPPFLAGS) $(libregress_la_CFLAGS) -include "glib.h"
+Regress_1_0_gir_INCLUDES = Gio-2.0 Utility-1.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
GIRS += Regress-1.0.gir
-Annotation-1.0.gir: Utility-1.0.gir libannotation.la
-Annotation_1_0_gir_PACKAGES = gobject-2.0
-Annotation_1_0_gir_LIBS = libannotation.la
-Annotation_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
-Annotation_1_0_gir_FILES = $(libannotation_la_SOURCES)
-Annotation_1_0_gir_SCANNERFLAGS = --c-include="annotation.h" --warn-error
-GIRS += Annotation-1.0.gir
-
-TestInherit-1.0.gir: Utility-1.0.gir libtestinherit.la
-TestInherit_1_0_gir_PACKAGES = gobject-2.0
-TestInherit_1_0_gir_LIBS = libtestinherit.la
-TestInherit_1_0_gir_INCLUDES = GObject-2.0 Utility-1.0
-TestInherit_1_0_gir_FILES = $(libtestinherit_la_SOURCES)
-TestInherit_1_0_gir_SCANNERFLAGS = --c-include="drawable.h" --warn-error
-GIRS += TestInherit-1.0.gir
-
-Foo-1.0.gir: Utility-1.0.gir libfoo.la
-Foo_1_0_gir_PACKAGES = gobject-2.0
-Foo_1_0_gir_LIBS = libfoo.la
-Foo_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 Utility-1.0
-Foo_1_0_gir_FILES = $(srcdir)/foo.h $(srcdir)/foo.c
-Foo_1_0_gir_SCANNERFLAGS = --c-include="foo.h" --warn-error
-GIRS += Foo-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_INCLUDES = Gio-2.0
+WarnLib_1_0_gir_FILES = $(libwarnlib_la_SOURCES)
+WarnLib_1_0_gir_SCANNERFLAGS = --c-include="warnlib.h" --symbol-prefix=warnlib_
+GIRS += WarnLib-1.0.gir
Utility-1.0.gir: libutility.la
Utility_1_0_gir_PACKAGES = gobject-2.0
@@ -140,6 +142,7 @@ GIRS += Bar-1.0.gir
endif
EXTRA_DIST += headeronly.h
+CLEANFILES += Headeronly-1.0.gir
Headeronly-1.0.gir: headeronly.h
$(AM_V_GEN) $(INTROSPECTION_SCANNER) $(INTROSPECTION_SCANNER_ARGS) --warn-all --warn-error --reparse-validate --namespace=Headeronly --nsversion=1.0 --header-only --output=$@ $<
@@ -147,4 +150,101 @@ Headeronly-1.0.gir: headeronly.h
%.gir.check: %.gir
@diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo " TEST $*.gir"
-check-local: Headeronly-1.0.gir $(CHECKGIRS) $(TYPELIBS)
+if BUILD_DOCTOOL
+DOCGIRS = Regress-1.0.gir
+CHECKDOCS = $(DOCGIRS:.gir=-C.page.check) $(DOCGIRS:.gir=-Python.page.check) $(DOCGIRS:.gir=-Gjs.page.check) $(DOCGIRS:.gir=-sections.txt.page.check)
+MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs)
+MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/*
+EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected)
+CLEANFILES += $(MALLARD_CLEAN)
+
+%-C: %.gir
+ $(AM_V_GEN)
+ $(AM_V_at)-rm -rf $(builddir)/$*-C
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/
+
+%-Python: %.gir
+ $(AM_V_GEN)
+ $(AM_V_at)-rm -rf $(builddir)/$*-Python
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $(builddir)/$*-Python/
+
+%-Gjs: %.gir
+ $(AM_V_GEN)
+ $(AM_V_at)-rm -rf $(builddir)/$*-Gjs
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $(builddir)/$*-Gjs/
+
+%-sections.txt: %.gir
+ $(AM_V_GEN)
+ $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@
+
+%-C.page.check: %-C
+ @diff -r -u -w -B -U 10 $(srcdir)/$*-C-expected $(builddir)/$*-C && echo " TEST $*-C"
+
+%-Python.page.check: %-Python
+ @diff -r -u -w -B -U 10 $(srcdir)/$*-Python-expected $(builddir)/$*-Python && echo " TEST $*-Python"
+
+%-Gjs.page.check: %-Gjs
+ @diff -r -u -w -B -U 10 $(srcdir)/$*-Gjs-expected $(builddir)/$*-Gjs && echo " TEST $*-Gjs"
+
+%-sections.txt.page.check: %-sections.txt
+ @diff -u -w -B -U 10 $(srcdir)/$*-sections-expected.txt $*-sections.txt && echo " TEST $*-C"
+
+else
+CHECKDOCS =
+endif
+
+check-local: Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS)
+
+EXTRA_DIST += \
+ annotationparser/README \
+ annotationparser/test_parser.py \
+ annotationparser/test_patterns.py \
+ annotationparser/gi/annotation_allow_none.xml \
+ annotationparser/gi/annotation_array.xml \
+ annotationparser/gi/annotation_closure.xml \
+ annotationparser/gi/annotation_constructor.xml \
+ annotationparser/gi/annotation_destroy.xml \
+ annotationparser/gi/annotation_element_type.xml \
+ annotationparser/gi/annotation_foreign.xml \
+ annotationparser/gi/annotation_get_value_func.xml \
+ annotationparser/gi/annotation_in.xml \
+ annotationparser/gi/annotation_in_out.xml \
+ annotationparser/gi/annotation_method.xml \
+ annotationparser/gi/annotation_out.xml \
+ annotationparser/gi/annotation_ref_func.xml \
+ annotationparser/gi/annotation_rename_to.xml \
+ annotationparser/gi/annotation_scope.xml \
+ annotationparser/gi/annotation_set_value_func.xml \
+ annotationparser/gi/annotation_skip.xml \
+ annotationparser/gi/annotation_transfer.xml \
+ annotationparser/gi/annotation_type.xml \
+ annotationparser/gi/annotation_unref_func.xml \
+ annotationparser/gi/annotation_value.xml \
+ annotationparser/gi/annotation_virtual.xml \
+ annotationparser/gi/syntax.xml \
+ annotationparser/gi/syntax_identifier.xml \
+ annotationparser/gi/syntax_nested_tags.xml \
+ annotationparser/gi/syntax_paragraph_breaks.xml \
+ annotationparser/gi/tag_deprecated.xml \
+ annotationparser/gi/tag_description.xml \
+ annotationparser/gi/tag_returns.xml \
+ annotationparser/gi/tag_since.xml \
+ annotationparser/gi/tag_stability.xml \
+ annotationparser/gtkdoc/gobject/gtypes.h.xml \
+ annotationparser/gtkdoc/gobject/gtypes.c.xml \
+ annotationparser/gtkdoc/gobject/giface.h.xml \
+ annotationparser/gtkdoc/gobject/giface.c.xml \
+ annotationparser/gtkdoc/fail/tester.h.xml \
+ annotationparser/gtkdoc/fail/tester.c.xml \
+ annotationparser/gtkdoc/empty/tester.c.xml \
+ annotationparser/gtkdoc/bugs/tester.h.xml \
+ annotationparser/gtkdoc/bugs/tester.c.xml \
+ annotationparser/gtkdoc/annotations/tester.h.xml \
+ annotationparser/gtkdoc/annotations/tester.c.xml \
+ annotationparser/gtkdoc/gobject/gobject.h.xml \
+ annotationparser/gtkdoc/gobject/gobject.c.xml \
+ Regress-1.0-C-expected \
+ Regress-1.0-Gjs-expected \
+ Regress-1.0-Python-expected \
+ Regress-1.0-sections-expected.txt \
+ $(NULL)