4 G_IR_SCANNER = $(top_srcdir)/tools/g-ir-scanner
5 G_IR_SCANNER_FILES = $(top_srcdir)/giscanner/*.py \
6 $(top_builddir)/giscanner/libgiscanner.la
9 GLIB_INCLUDEDIR=`pkg-config --variable=includedir glib-2.0`/glib-2.0
10 GLIB_LIBDIR=`pkg-config --variable=libdir glib-2.0`
13 GLIB_LIBRARY=libglib-2.0-0
18 GLib-2.0.gir: $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile glib-2.0.c
19 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
20 -v --namespace GLib --nsversion=2.0 \
21 --add-include-path=. \
25 --library=$(GLIB_LIBRARY) \
27 -I$(GLIB_INCLUDEDIR) \
28 -I$(GLIB_LIBDIR)/glib-2.0/include \
29 -DGETTEXT_PACKAGE=Dummy \
31 $(GLIB_LIBDIR)/glib-2.0/include/glibconfig.h \
32 $(srcdir)/glib-2.0.c \
33 $(GLIB_INCLUDEDIR)/glib/*.h
34 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
35 --xpath-assertions=GLib-2.0.xpath GLib-2.0.gir
36 BUILT_SOURCES += GLib-2.0.gir
37 EXTRA_DIST += GLib-2.0.xpath
40 GOBJECT_INCLUDEDIR=`pkg-config --variable=includedir gobject-2.0`/glib-2.0
41 GOBJECT_LIBDIR=`pkg-config --variable=libdir gobject-2.0`
44 GOBJECT_LIBRARY=libgobject-2.0-0
46 GOBJECT_LIBRARY=gobject-2.0
49 GObject-2.0.gir: GLib-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile
50 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
51 -v --namespace GObject --nsversion=2.0 \
52 --add-include-path=. \
57 --library=$(GOBJECT_LIBRARY) \
58 -I$(GOBJECT_INCLUDEDIR) \
59 -I$(GOBJECT_LIBDIR)/glib-2.0/include \
60 -DGOBJECT_COMPILATION \
62 $(GLIB_INCLUDEDIR)/gobject/*.h
63 BUILT_SOURCES += GObject-2.0.gir
66 GMODULE_INCLUDEDIR=`pkg-config --variable=includedir gmodule-2.0`/glib-2.0
67 GMODULE_LIBDIR=`pkg-config --variable=libdir gmodule-2.0`
70 GMODULE_LIBRARY=libgmodule-2.0-0
72 GMODULE_LIBRARY=gmodule-2.0
75 GModule-2.0.gir: GLib-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES)
76 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
77 -v --namespace GModule --nsversion=2.0 \
78 --add-include-path=. \
83 --library=$(GMODULE_LIBRARY) \
84 -I$(GMODULE_INCLUDEDIR) \
85 -I$(GMODULE_LIBDIR)/glib-2.0/include \
87 $(GLIB_INCLUDEDIR)/gmodule.h
88 BUILT_SOURCES += GModule-2.0.gir
91 GIO_INCLUDEDIR=`pkg-config --variable=includedir gio-2.0`/glib-2.0
92 GIO_LIBDIR=`pkg-config --variable=libdir gio-2.0`
95 GIO_LIBRARY=libgio-2.0-0
100 Gio-2.0.gir: GObject-2.0.gir $(G_IR_SCANNER) $(G_IR_SCANNER_FILES) Makefile
101 PYTHONPATH=$(top_builddir):$$PYTHONPATH $(G_IR_SCANNER) \
102 -v --namespace Gio --nsversion=2.0 \
103 --add-include-path=. \
107 --include=GObject-2.0 \
108 --library=$(GIO_LIBRARY) \
109 -I$(GIO_INCLUDEDIR) \
110 -I$(GIO_LIBDIR)/glib-2.0/include \
114 $(GLIB_INCLUDEDIR)/gio/*.h
115 BUILT_SOURCES += Gio-2.0.gir
116 CLEANFILES = $(BUILT_SOURCES)
118 girdir=$(datadir)/gir
119 dist_gir_DATA = $(BUILT_SOURCES)
121 %.typelib: %.gir $(top_builddir)/tools/g-ir-compiler$(EXEEXT) Makefile
122 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $@
124 typelibsdir = $(libdir)/girepository
125 typelibs_DATA = GLib-2.0.typelib GModule-2.0.typelib GObject-2.0.typelib Gio-2.0.typelib
126 CLEANFILES += $(typelibs_DATA)
128 # Check that typelib -> gir -> typelib transformation is lossless.
129 # Comparing gir files is relatively fragile (whitespace, attribute default
130 # values, etc.) but the typelibs should identical as long as the gir files are
131 # semantically equivalent.
133 %.test.gir: %.typelib $(top_builddir)/tools/g-ir-generate$(EXEEXT) Makefile
134 $(DEBUG) $(top_builddir)/tools/g-ir-generate$(EXEEXT) --includedir=. $< -o $@
136 testlib-%: %.test.gir $(top_builddir)/tools/g-ir-generate$(EXEEXT) Makefile
137 $(DEBUG) $(top_builddir)/tools/g-ir-compiler$(EXEEXT) --includedir=. $(G_IR_COMPILER_OPTS) $< -o $*.test.typelib
138 cmp $*.typelib $*.test.typelib && rm $*.test.typelib
140 testgir-%: %.test.gir
141 diff -u $*.gir $< && rm $<
143 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.gir)
144 CLEANFILES += $(typelibs_DATA:%.typelib=%.test.typelib)
146 #check-local: $(typelibs_DATA:%.typelib=testlib-%)
147 check-gir: $(typelibs_DATA:%.typelib=testgir-%)