From: Michael Jeanson Date: Mon, 28 Aug 2017 21:00:41 +0000 (-0400) Subject: Fix: python bindings OOT build X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=ae2b29f342170bd7ea4d6bcb035be62d0ae675f3;p=deliverable%2Fbabeltrace.git Fix: python bindings OOT build All the source files required to build the python bindings with distutils must be in the same directory, since some of them are generated by the build system, copy the static ones to the build directory when it is different from the source directory. Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- diff --git a/bindings/python/bt2/Makefile.am b/bindings/python/bt2/Makefile.am index f41e2c07c..2ae93f3f2 100644 --- a/bindings/python/bt2/Makefile.am +++ b/bindings/python/bt2/Makefile.am @@ -67,7 +67,15 @@ BUILD_FLAGS=CC="$(CC)" \ all-local: build-python-bindings.stamp -build-python-bindings.stamp: $(STATIC_BINDINGS_DEPS) $(GENERATED_BINDINGS_DEPS) +copy-static-deps.stamp: $(STATIC_BINDINGS_DEPS) + @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + for file in $(STATIC_BINDINGS_DEPS); do \ + cp -f $(srcdir)/$$file $(builddir)/$$file; \ + done; \ + fi + touch $@ + +build-python-bindings.stamp: copy-static-deps.stamp $(GENERATED_BINDINGS_DEPS) $(BUILD_FLAGS) $(PYTHON) $(builddir)/setup.py build_ext $(BUILD_FLAGS) $(PYTHON) $(builddir)/setup.py build touch $@ @@ -81,6 +89,11 @@ install-exec-local: build-python-bindings.stamp clean-local: rm -rf $(builddir)/build + @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ + for file in $(STATIC_BINDINGS_DEPS); do \ + rm -f $(builddir)/$$file; \ + done; \ + fi # Distutils' setup.py does not include an uninstall target, we thus need to do # it manually. We save the path of the files that were installed during the install target @@ -97,4 +110,4 @@ uninstall-local: EXTRA_DIST = $(STATIC_BINDINGS_DEPS) # clean: generated C and Python files (by SWIG) -CLEANFILES = bt2/native_bt.py bt2/native_bt_wrap.c build-python-bindings.stamp +CLEANFILES = bt2/native_bt.py bt2/native_bt_wrap.c build-python-bindings.stamp copy-static-deps.stamp