From dcb66bd8ebe8a4f8ee6605b00af09e8a48ace0ff Mon Sep 17 00:00:00 2001 From: Gökçen Eraslan Date: Wed, 6 Jan 2016 19:50:21 +0100 Subject: Add a SWIG interface file, a Bash script to generate Go, Python and Lua bindings and add Python test file. --- bindings/swig.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 bindings/swig.sh (limited to 'bindings/swig.sh') diff --git a/bindings/swig.sh b/bindings/swig.sh new file mode 100644 index 0000000..62ec220 --- /dev/null +++ b/bindings/swig.sh @@ -0,0 +1,22 @@ +set -eu + +#################### Generate Python bindings +ln -sf ../../lib/release/libquackle.so.0 python/libquackle.so.0 +ln -sf ../../quackleio/lib/release/libquackleio.so.0 python/libquackleio.so +swig -c++ -o python/pyquackle.cxx -I../ `pkg-config QtCore --cflags` -python quackle.i +g++ -c -std=c++11 -fPIC python/pyquackle.cxx `pkg-config QtCore --cflags` `pkg-config python2 --cflags` -I../ -o python/pyquackle.o +g++ -std=c++11 -shared ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so python/pyquackle.o -o python/_quackle.so + +#################### Generate Go bindings +mkdir go +ln -sf ../../lib/release/libquackle.so.0 go/libquackle.so.0 +ln -sf ../../quackleio/lib/release/libquackleio.so.0 go/libquackleio.so +swig -c++ -o go/quackle_wrap.cxx -I../ `pkg-config QtCore --cflags` -go -cgo -intgosize 64 quackle.i + +#################### Generate Lua bindings +mkdir lua +ln -sf ../../lib/release/libquackle.so.0 lua/libquackle.so.0 +ln -sf ../../quackleio/lib/release/libquackleio.so.0 lua/libquackleio.so +swig -c++ -o lua/quackle_wrap.cxx -I../ `pkg-config QtCore --cflags` -lua quackle.i +g++ -std=c++11 -fPIC `pkg-config lua52 --cflags` `pkg-config QtCore --cflags` -I../ -c lua/quackle_wrap.cxx -o lua/quackle_wrap.o +g++ -std=c++11 -shared `pkg-config lua52 --libs` ../lib/release/libquackle.so ../quackleio/lib/release/libquackleio.so lua/quackle_wrap.o -o lua/quackle.so -- cgit v1.2.3