Fix: python bindings OOT build
authorMichael Jeanson <mjeanson@efficios.com>
Mon, 28 Aug 2017 21:00:41 +0000 (17:00 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sun, 17 Sep 2017 18:10:50 +0000 (14:10 -0400)
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 <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
bindings/python/bt2/Makefile.am

index f41e2c07ce6e92ede4f1c42f0da39a9a3596c397..2ae93f3f2aad23ac9734bab2f38c804063b3722b 100644 (file)
@@ -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
This page took 0.025509 seconds and 4 git commands to generate.