aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--python/Makefile8
-rw-r--r--python/olm_build.py14
3 files changed, 19 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index 154954c..be50a8f 100644
--- a/Makefile
+++ b/Makefile
@@ -125,6 +125,7 @@ $(RELEASE_TARGET): $(RELEASE_OBJECTS)
-Wl,--version-script,version_script.ver \
$(OUTPUT_OPTION) $(RELEASE_OBJECTS)
ln -sf libolm.so.$(VERSION) $(BUILD_DIR)/libolm.so.$(MAJOR)
+ ln -sf libolm.so.$(VERSION) $(BUILD_DIR)/libolm.so
debug: $(DEBUG_TARGET)
.PHONY: debug
diff --git a/python/Makefile b/python/Makefile
index 998d307..2ab839c 100644
--- a/python/Makefile
+++ b/python/Makefile
@@ -3,7 +3,7 @@ PYTHON ?= python
all: olm
olm:
- $(PYTHON) setup.py build
+ DEVELOP=$(DEVELOP) $(PYTHON) setup.py build
install: olm
$(PYTHON) setup.py install --skip-build -O1 --root=$(DESTDIR)
@@ -24,12 +24,14 @@ clean:
develop: _libolm.o
py2develop: _libolm.so
+_libolm.so: DEVELOP ?= 1
_libolm.so: include/olm/olm.h olm_build.py
- python2 olm_build.py
+ DEVELOP=$(DEVELOP) python2 olm_build.py
-rm _libolm.c
+_libolm.o: DEVELOP ?= 1
_libolm.o: include/olm/olm.h olm_build.py
- python3 olm_build.py
+ DEVELOP=$(DEVELOP) python3 olm_build.py
-rm _libolm.c
.PHONY: all olm install clean test develop
diff --git a/python/olm_build.py b/python/olm_build.py
index 5ffefc2..281a571 100644
--- a/python/olm_build.py
+++ b/python/olm_build.py
@@ -24,6 +24,15 @@ from cffi import FFI
ffibuilder = FFI()
PATH = os.path.dirname(__file__)
+DEVELOP = os.environ.get("DEVELOP")
+
+compile_args = []
+link_args = []
+
+if DEVELOP and DEVELOP.lower() in ["yes", "true", "1"]:
+ compile_args = ["-I../include"]
+ link_args = ['-Wl,-L=../build,-rpath=../build']
+
ffibuilder.set_source(
"_libolm",
@@ -31,7 +40,10 @@ ffibuilder.set_source(
#include <olm/olm.h>
#include <olm/inbound_group_session.h>
#include <olm/outbound_group_session.h>
- """, libraries=["olm"])
+ """,
+ libraries=["olm"],
+ extra_compile_args=compile_args,
+ extra_link_args=link_args)
with open(os.path.join(PATH, "include/olm/olm.h")) as f:
ffibuilder.cdef(f.read(), override=True)