aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/gi/makefile
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2016-05-17 22:11:17 +0200
committerThomas Martitz <kugel@rockbox.org>2016-05-17 22:11:17 +0200
commitace28857b70d8a8fe97cdf29f937614eb13de781 (patch)
tree11c759eaec999dd5a934797546b35a1fa5d42179 /test/gi/makefile
parent99d52264a609b61e8639f3c1087a78fedb0b9de8 (diff)
downloadscintilla-mirror-ace28857b70d8a8fe97cdf29f937614eb13de781.tar.gz
Enable g-ir-scanner to scan ScintillaObject signals
Currently, the ScintillaObject signals can't be used from python code via gobject-introspection. This is because g-ir-scanner does not properly scan the signals. For signals, there is the additional requirement that parameters have are registered GTypes. For the sci-notify signal, this can be accomplished by boxing SCNotification. In addition, g-ir-scanner also runs on Scintilla.h where it picks up additional structs. test/gi/ is updated accordingly. The test python script is enhanced to showcase the signals (some fixes to the makefile are included as well).
Diffstat (limited to 'test/gi/makefile')
-rw-r--r--test/gi/makefile20
1 files changed, 13 insertions, 7 deletions
diff --git a/test/gi/makefile b/test/gi/makefile
index cf7522303..8b01de341 100644
--- a/test/gi/makefile
+++ b/test/gi/makefile
@@ -12,20 +12,26 @@ GTK_LIBS = $(shell pkg-config --libs gtk+-$(GTKVERSION))
GTK_CFLAGS = $(shell pkg-config --cflags gtk+-$(GTKVERSION))
PWD = $(shell pwd)
-FORCE:
+.PHONY: test clean FORCE
../../bin/scintilla.a: FORCE
$(MAKE) -C ../../gtk all
+Scintilla-filtered.h: ../../include/Scintilla.h
+ python filter-scintilla-h.py $< > $@
+
libscintilla.so: ../../bin/scintilla.a
$(CXX) -shared -o $@ -Wl,--whole-archive $^ -Wl,--no-whole-archive $(GTK_LIBS)
-Scintilla-0.1.gir: libscintilla.so
+Scintilla-0.1.gir: libscintilla.so Scintilla-filtered.h
LDFLAGS=-Wl,-rpath=$(shell pwd) \
- $(GI_SCANNER) --warn-all -i Gtk-$(GTKVERSION) -DG_IR_SCANNING -DGTK \
- --cflags-begin $(GTK_CFLAGS) -include gtk/gtk.h --cflags-end \
+ $(GI_SCANNER) --no-libtool --warn-all -i Gtk-$(GTKVERSION) -DG_IR_SCANNING -DGTK \
+ --cflags-begin $(GTK_CFLAGS) -include gtk/gtk.h \
+ -include Scintilla-filtered.h -I../../include --cflags-end \
+ --accept-unprefixed \
--c-include Scintilla.h --c-include ScintillaWidget.h \
- -n Scintilla --nsversion 0.1 --library scintilla -L$(PWD) ../../include/ScintillaWidget.h \
+ -n Scintilla --nsversion 0.1 --library scintilla -L$(PWD) \
+ ../../include/Sci_Position.h ../../include/ScintillaWidget.h Scintilla-filtered.h \
-o $@
Scintilla-0.1.typelib: Scintilla-0.1.gir
@@ -35,9 +41,9 @@ clean:
rm -f libscintilla.so Scintilla-0.1.gir Scintilla-0.1.typelib
$(MAKE) -C ../../gtk clean
-test: Scintilla-0.1.gir
+test: Scintilla-0.1.gir Scintilla-0.1.typelib
@echo Verifying Scintilla-0.1.gir file
- @diff $^.good $^ || (echo "GIR FILE MISMATCH!"; exit 1)
+ @diff $<.good $< || (echo "GIR FILE MISMATCH!"; exit 1)
@echo Launching gi-test.py python program
GI_TYPELIB_PATH=$(PWD) LD_LIBRARY_PATH=$(PWD) \
python $(PWD)/gi-test.py