From ace28857b70d8a8fe97cdf29f937614eb13de781 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Tue, 17 May 2016 22:11:17 +0200 Subject: 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). --- test/gi/makefile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'test/gi/makefile') 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 -- cgit v1.2.3