1 include $(top_srcdir)/common.mk
2 include $(top_srcdir)/Makefile.introspection
18 EXTRA_DIST += $(BASE_GIRSOURCES)
23 GLIB_INCLUDEDIR=$(shell pkg-config --variable=includedir glib-2.0)/glib-2.0
24 GLIB_LIBDIR=$(shell pkg-config --variable=libdir glib-2.0)
27 GLIB_LIBRARY=libglib-2.0-0
32 GLib_2_0_gir_LIBS = $(GLIB_LIBRARY)
33 GLib_2_0_gir_SCANNERFLAGS = --noclosure --strip-prefix=g --c-include="glib.h"
34 GLib_2_0_gir_PACKAGES = glib-2.0
35 GLib_2_0_gir_CFLAGS = $(CPPFLAGS) \
36 -I$(GLIB_INCLUDEDIR) \
37 -I$(GLIB_LIBDIR)/glib-2.0/include \
38 -DGETTEXT_PACKAGE=Dummy \
41 GLib_2_0_gir_ASSERTIONS = $(srcdir)/GLib-2.0.xpath
42 GLib_2_0_gir_FILES = \
43 $(GLIB_LIBDIR)/glib-2.0/include/glibconfig.h \
44 $(GLIB_INCLUDEDIR)/glib/*.h \
47 INTROSPECTION_GIRS += GLib-2.0.gir
48 EXTRA_DIST += glib-2.0.c GLib-2.0.xpath
51 GOBJECT_INCLUDEDIR=$(shell pkg-config --variable=includedir gobject-2.0)/glib-2.0
52 GOBJECT_LIBDIR=$(shell pkg-config --variable=libdir gobject-2.0)
55 GOBJECT_LIBRARY=libgobject-2.0-0
57 GOBJECT_LIBRARY=gobject-2.0
60 GObject-2.0.gir: GLib-2.0.gir
62 GObject_2_0_gir_LIBS = $(GOBJECT_LIBRARY)
63 GObject_2_0_gir_SCANNERFLAGS = --noclosure --strip-prefix=g --c-include="glib-object.h"
64 GObject_2_0_gir_PACKAGES = gobject-2.0
65 GObject_2_0_gir_INCLUDES = GLib-2.0
66 GObject_2_0_gir_CFLAGS = \
67 -DGOBJECT_COMPILATION \
68 -I$(GOBJECT_INCLUDEDIR) \
69 -I$(GOBJECT_LIBDIR)/glib-2.0/include
70 GObject_2_0_gir_ASSERTIONS = $(srcdir)/GObject-2.0.xpath
71 GObject_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gobject/*.h $(srcdir)/gobject-2.0.c
73 INTROSPECTION_GIRS += GObject-2.0.gir
74 EXTRA_DIST += gobject-2.0.c GObject-2.0.xpath
77 GMODULE_INCLUDEDIR=$(shell pkg-config --variable=includedir gmodule-2.0)/glib-2.0
78 GMODULE_LIBDIR=$(shell pkg-config --variable=libdir gmodule-2.0)
81 GMODULE_LIBRARY=libgmodule-2.0-0
83 GMODULE_LIBRARY=gmodule-2.0
86 GModule-2.0.gir: GLib-2.0.gir
88 GModule_2_0_gir_LIBS = $(GMODULE_LIBRARY)
89 GModule_2_0_gir_SCANNERFLAGS = --noclosure --strip-prefix=g --c-include="gmodule.h"
90 GModule_2_0_gir_PACKAGES = gmodule-2.0
91 GModule_2_0_gir_INCLUDES = GLib-2.0
92 GModule_2_0_gir_CFLAGS = \
93 -I$(GMODULE_INCLUDEDIR) \
94 -I$(GMODULE_LIBDIR)/glib-2.0/include
95 GModule_2_0_gir_FILES = $(GLIB_INCLUDEDIR)/gmodule.h
97 INTROSPECTION_GIRS += GModule-2.0.gir
100 GIO_INCLUDEDIR=$(shell pkg-config --variable=includedir gio-2.0)/glib-2.0
101 GIO_LIBDIR=$(shell pkg-config --variable=libdir gio-2.0)
104 GIO_LIBRARY=libgio-2.0-0
110 GIO_UNIX_HDRS=$(shell pkg-config --variable=includedir gio-unix-2.0)/gio-unix-2.0/gio/*.h
111 GIO_UNIX_PACKAGES = gio-unix-2.0
117 Gio-2.0.gir: GObject-2.0.gir
119 Gio_2_0_gir_LIBS = $(GIO_LIBRARY)
120 Gio_2_0_gir_SCANNERFLAGS = --noclosure --strip-prefix=g --c-include="gio/gio.h"
121 Gio_2_0_gir_PACKAGES = gio-2.0 $(GIO_UNIX_PACKAGES)
122 Gio_2_0_gir_INCLUDES = GObject-2.0
123 Gio_2_0_gir_CFLAGS = \
125 -I$(GIO_LIBDIR)/glib-2.0/include
126 Gio_2_0_gir_FILES = \
128 $(GIO_INCLUDEDIR)/gio/*.h \
131 INTROSPECTION_GIRS += Gio-2.0.gir
132 EXTRA_DIST += gio-2.0.c
135 GIRepository-2.0.gir: GObject-2.0.gir $(top_builddir)/girepository/libgirepository-1.0.la
137 GIRepository_2_0_gir_LIBS = girepository-1.0
138 GIRepository_2_0_gir_SCANNERFLAGS = \
141 --c-include="girepository.h" \
142 --pkg-export gobject-introspection-1.0
143 GIRepository_2_0_gir_PACKAGES = gobject-2.0
144 GIRepository_2_0_gir_INCLUDES = GObject-2.0
145 GIRepository_2_0_gir_CFLAGS = -I$(srcdir)/girepository
146 GIRepository_2_0_gir_FILES = \
147 $(top_srcdir)/girepository/girepository.c \
148 $(top_srcdir)/girepository/girepository.h
150 INTROSPECTION_GIRS += GIRepository-2.0.gir
156 LT_VERSION = $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
157 TYPELIB_VERSION = $(LT_CURRENT).0
159 lib_LTLIBRARIES = libgirepository-everything-1.0.la
161 libgirepository_everything_1_0_la_SOURCES = $(srcdir)/everything.c $(srcdir)/everything.h
162 libgirepository_everything_1_0_la_CFLAGS = $(GOBJECT_CFLAGS)
163 libgirepository_everything_1_0_la_LDFLAGS = -version-info $(LT_VERSION)
164 libgirepository_everything_1_0_la_LIBADD = $(GOBJECT_LIBS)
167 libgirepository_everything_1_0_la_LDFLAGS += -no-undefined
170 Everything-1.0.gir: Gio-2.0.gir libgirepository-everything-1.0.la
172 Everything_1_0_gir_LIBS = libgirepository-everything-1.0.la
173 Everything_1_0_gir_PACKAGES = gobject-2.0
174 Everything_1_0_gir_INCLUDES = GObject-2.0
175 Everything_1_0_gir_FILES = $(srcdir)/everything.h $(srcdir)/everything.c
177 INTROSPECTION_GIRS += Everything-$(TYPELIB_VERSION).gir
178 EXPECTEDGIRS += Everything-$(TYPELIB_VERSION)-expected.gir
181 CLEANFILES += $(INTROSPECTION_GIRS)
185 $(INTROSPECTION_GIRS)
188 gir_DATA = $(GIRSOURCES)
190 typelibsdir = $(libdir)/girepository-1.0
191 typelibs_DATA = $(GIRSOURCES:.gir=.typelib)
193 CLEANFILES += $(typelibs_DATA)
196 @diff -u -U 10 $(srcdir)/$*-expected.gir $*.gir && echo " TEST $*.gir"
198 CHECKGIRS = $(EXPECTEDGIRS:-expected.gir=.gir.check)
199 check-local: $(CHECKGIRS)
201 # Check that typelib -> gir -> typelib transformation is lossless.
202 # Comparing gir files is relatively fragile (whitespace, attribute default
203 # values, etc.) but the typelibs should identical as long as the gir files are
204 # semantically equivalent.
206 %.test.gir: %.typelib $(top_builddir)/tools/g-ir-generate$(EXEEXT)
207 $(DEBUG) $(top_builddir)/tools/g-ir-generate$(EXEEXT) --includedir=. $< -o $@
209 testlib-%: %.test.gir $(top_builddir)/tools/g-ir-generate$(EXEEXT)
210 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $< -o $*.test.typelib
211 cmp $*.typelib $*.test.typelib && rm $*.test.typelib
213 testgir-%: %.test.gir
214 diff -u $*.gir $< && rm $<
216 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.gir)
217 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.typelib)
219 #check-local: $(typelibs_DATA:%.typelib=testlib-%)
220 check-gir: $(typelibs_DATA:%.typelib=testgir-%)
222 EXTRA_DIST += $(EXPECTEDGIRS)