aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/gi/makefile
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2015-09-30 07:15:25 +0200
committerThomas Martitz <kugel@rockbox.org>2015-09-30 07:15:25 +0200
commit312ccef24f7faaff3ba8dae178c915374ab6677f (patch)
tree32d6358ff4e246ae0b703805576c6e4cc2e40709 /test/gi/makefile
parent4ec6923a5f5df2961fc16bd53eba10c81dded1e3 (diff)
downloadscintilla-mirror-312ccef24f7faaff3ba8dae178c915374ab6677f.tar.gz
Add a test suite to check gobject-introspection data
The test suite acts also as an example for downstream projects to generate gobject-introspection data. A known-good .gir file is checked in for checking results in the future. Lastly, a small python uses the gobject-introspection data to create a small editor window. The change to gtk/makefile is because scintilla needs to be in a shared library for the python program. Therefore scintilla.a has to be compiled with -fPIC.
Diffstat (limited to 'test/gi/makefile')
-rw-r--r--test/gi/makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/gi/makefile b/test/gi/makefile
new file mode 100644
index 000000000..41d200653
--- /dev/null
+++ b/test/gi/makefile
@@ -0,0 +1,35 @@
+all: Scintilla-0.1.typelib
+
+ifdef GTK3
+GTKVERSION=gtk+-3.0
+else
+GTKVERSION=gtk+-2.0
+endif
+
+GI_SCANNER = g-ir-scanner
+GI_COMPILER = g-ir-compiler
+GTK_LIBS = $(shell pkg-config --libs $(GTKVERSION))
+
+FORCE:
+
+../../bin/scintilla.a: FORCE
+ $(MAKE) -C ../../gtk all
+
+libscintilla.so: ../../bin/scintilla.a
+ $(CXX) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive $(GTK_LIBS)
+
+Scintilla-0.1.gir: libscintilla.so
+ LDFLAGS=-Wl,-rpath=$(shell pwd) CFLAGS="-include gtk/gtk.h" \
+ $(GI_SCANNER) --warn-all -i Gtk-3.0 -DG_IR_SCANNING -DGTK \
+ --c-include Scintilla.h --c-include ScintillaWidget.h \
+ -n Scintilla --nsversion 0.1 --library scintilla ../../include/ScintillaWidget.h \
+ -o $@
+ @echo Verifing Scintilla-0.1.gir file
+ @diff $@.good $@ || (echo "GIR FILE MISMATCH!"; exit 1)
+
+
+Scintilla-0.1.typelib: Scintilla-0.1.gir
+ $(GI_COMPILER) $^ -o $@
+
+clean:
+ rm -f libscintilla.so Scintilla-0.1.gir Scintilla-0.1.typelib