diff options
Diffstat (limited to 'tests/scanner/Makefile.am')
-rw-r--r-- | tests/scanner/Makefile.am | 148 |
1 files changed, 104 insertions, 44 deletions
diff --git a/tests/scanner/Makefile.am b/tests/scanner/Makefile.am index 96923550..f697b4b4 100644 --- a/tests/scanner/Makefile.am +++ b/tests/scanner/Makefile.am @@ -3,18 +3,22 @@ NULL ?= include $(top_srcdir)/common.mk include $(top_srcdir)/Makefile.introspection +SUBDIRS = . annotationparser + INTROSPECTION_SCANNER_ARGS += --warn-all -check_LTLIBRARIES = \ +CLEANFILES = + +EXTRA_LTLIBRARIES = \ libsletter.la \ - libannotation.la \ - libtestinherit.la \ - libfoo.la \ libutility.la \ libgtkfrob.la \ libgettype.la \ libregress.la \ + libwarnlib.la \ + libtypedefs.la \ $(NULL) +CLEANFILES += $(EXTRA_LTLIBRARIES) AM_CPPFLAGS = -I$(top_srcdir)/girepository AM_CFLAGS = $(GIO_CFLAGS) $(GOBJECT_CFLAGS) $(GTHREAD_CFLAGS) @@ -28,20 +32,38 @@ 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 +libtypedefs_la_SOURCES = $(srcdir)/typedefs.c $(srcdir)/typedefs.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) @@ -52,10 +74,10 @@ endif # .gir --[scanner]-> .typelib GIRS = TYPELIBS = $(GIRS:.gir=.typelib) -CHECKGIRS = $(GIRS:.gir=.gir.check) +CHECKGIRS = $(GIRS) EXPECTEDGIRS = $(GIRS:.gir=-expected.gir) INTROSPECTION_GIRS = $(GIRS) -CLEANFILES = $(TYPELIBS) $(GIRS) +CLEANFILES += $(TYPELIBS) $(GIRS) EXTRA_DIST = $(EXPECTEDGIRS) SLetter-1.0.gir: $(top_builddir)/Gio-2.0.gir libsletter.la @@ -65,36 +87,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 @@ -123,8 +132,17 @@ GetType_1_0_gir_FILES = $(libgettype_la_SOURCES) GetType_1_0_gir_SCANNERFLAGS = --c-include="gettype.h" --identifier-prefix=GetType --symbol-prefix=gettype 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_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 +GIRS += Typedefs-1.0.gir + if !OS_WIN32 -check_PROGRAMS = barapp +EXTRA_PROGRAMS = barapp +CLEANFILES += $(EXTRA_PROGRAMS) barapp_SOURCES = $(srcdir)/barapp.c $(srcdir)/barapp.h barapp_LDADD = $(top_builddir)/libgirepository-1.0.la @@ -139,12 +157,54 @@ Bar_1_0_gir_SCANNERFLAGS = --accept-unprefixed GIRS += Bar-1.0.gir endif -EXTRA_DIST += headeronly.h +EXTRA_DIST += \ + headeronly.h \ + Headeronly-1.0-expected.gir +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=$@ $< -%.gir.check: %.gir - @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo " TEST $*.gir" +if BUILD_DOCTOOL +DOCGIRS = Regress-1.0.gir +CHECKDOCS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) $(DOCGIRS:.gir=-sections.txt) +MALLARD_DIRS = $(DOCGIRS:.gir=-C) $(DOCGIRS:.gir=-Python) $(DOCGIRS:.gir=-Gjs) +MALLARD_CLEAN = $(DOCGIRS:.gir=-C)/* $(DOCGIRS:.gir=-Python)/* $(DOCGIRS:.gir=-Gjs)/* $(DOCGIRS:.gir=-sections.txt) +EXPECTED_MALLARD_DIRS = $(MALLARD_DIRS:=-expected) +CLEANFILES += $(MALLARD_CLEAN) -check-local: Headeronly-1.0.gir $(CHECKGIRS) $(TYPELIBS) +%-C: %.gir + $(AM_V_GEN)rm -rf $(builddir)/$*-C + $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language C $*.gir -o $(builddir)/$*-C/ + +%-Python: %.gir + $(AM_V_GEN)rm -rf $(builddir)/$*-Python + $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Python $*.gir -o $(builddir)/$*-Python/ + +%-Gjs: %.gir + $(AM_V_GEN)rm -rf $(builddir)/$*-Gjs + $(AM_V_at)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --language Gjs $*.gir -o $(builddir)/$*-Gjs/ + +%-sections.txt: %.gir + $(AM_V_GEN)$(INTROSPECTION_DOCTOOL) $(INTROSPECTION_DOCTOOL_ARGS) --write-sections-file $*.gir -o $@ + +else +CHECKDOCS = +endif + +PYTESTS = \ + test_sourcescanner.py \ + test_transformer.py + +TESTS = Headeronly-1.0.gir $(CHECKGIRS) $(CHECKDOCS) $(TYPELIBS) $(PYTESTS) +TESTS_ENVIRONMENT = srcdir=$(srcdir) top_srcdir=$(top_srcdir) builddir=$(builddir) top_builddir=$(top_builddir) \ + PYTHON=$(PYTHON) UNINSTALLED_INTROSPECTION_SRCDIR=$(top_srcdir) +LOG_COMPILER = $(top_srcdir)/tests/gi-tester + +EXTRA_DIST += \ + $(PYTESTS) \ + Regress-1.0-C-expected \ + Regress-1.0-Gjs-expected \ + Regress-1.0-Python-expected \ + Regress-1.0-sections-expected.txt \ + $(NULL) |