aboutsummaryrefslogtreecommitdiff
path: root/python/Makefile
diff options
context:
space:
mode:
authorDamir Jelić <poljar@termina.org.uk>2018-07-08 12:19:16 +0200
committerHubert Chathi <hubert@uhoreg.ca>2018-07-18 17:44:32 -0400
commite3d66733712e161d9287ea3f0116e5b57477b0d8 (patch)
tree846678302027f772f5d8e0ef30d4e0ac79a526f9 /python/Makefile
parent2fccf44015dfb27865ddb50ed66afdedbd4e03e6 (diff)
python: Import improved python bindings.
This commit imports the python bindings from: https://github.com/poljar/python-olm The bindings are imported at commit c44b145818520d69eaaa350fb95afcb846125e0f Minor modifications were made while importing: - Removed travis config - Removed Arch Linux PKGBUILD - Removed the html docs, they can be rebuild by running make html in the docs folder - Slightly modified the README The new bindings feature some improvements over the old ones: - Python 2 and 3 support - Automatic memory management - Automatic memory clearing before it is freed - Type signatures via the python typing module - Full test coverage - Properties are utilized where it makes sense (e.g. account.id) Signed-off-by: Damir Jelić <poljar@termina.org.uk>
Diffstat (limited to 'python/Makefile')
-rw-r--r--python/Makefile35
1 files changed, 35 insertions, 0 deletions
diff --git a/python/Makefile b/python/Makefile
new file mode 100644
index 0000000..998d307
--- /dev/null
+++ b/python/Makefile
@@ -0,0 +1,35 @@
+PYTHON ?= python
+
+all: olm
+
+olm:
+ $(PYTHON) setup.py build
+
+install: olm
+ $(PYTHON) setup.py install --skip-build -O1 --root=$(DESTDIR)
+
+test: develop py2develop
+ python3 -m pytest
+ python2 -m pytest
+ python3 -m pytest --flake8 --benchmark-disable
+ python3 -m pytest --isort --benchmark-disable
+ python3 -m pytest --cov --cov-branch --benchmark-disable
+
+clean:
+ -rm -r python_olm.egg-info/ dist/ __pycache__/
+ -rm *.so _libolm.o
+ -rm -r packages/
+ -rm -r build/
+
+develop: _libolm.o
+py2develop: _libolm.so
+
+_libolm.so: include/olm/olm.h olm_build.py
+ python2 olm_build.py
+ -rm _libolm.c
+
+_libolm.o: include/olm/olm.h olm_build.py
+ python3 olm_build.py
+ -rm _libolm.c
+
+.PHONY: all olm install clean test develop