Fix: bt2: Make bindings target depend on convenience libraries
authorSimon Marchi <simon.marchi@efficios.com>
Sun, 21 Jul 2019 17:05:21 +0000 (13:05 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Wed, 24 Jul 2019 04:18:54 +0000 (00:18 -0400)
Three convenience libraries are used to build the bindings' native
library.  This dependency is not expressed in the Makefile, so if you
change one of them and re-run make, the bindings won't be rebuilt, and
the changes in that convenience lib won't be taken into account.  For
example, if you touch src/py-common/.libs/libbabeltrace2-py-common.a and
re-run make, the bindings should (but currently don't) get re-built.

This patch adds the explicit dependency in the Makefile, so that any
change to one of these libs will trigger a rebuild of the bindings.

Change-Id: Iea47833b206bcd0f1cc0d3f72975b14fd6eded93
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1736
Tested-by: jenkins <jenkins@lttng.org>
Reviewed-by: Michael Jeanson <mjeanson@efficios.com>
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
src/bindings/python/bt2/Makefile.am

index 0324ed2483804129a5d83326e4ea2440757e51be..158b8ccd392986b58a44d03675a251193d8b93fa 100644 (file)
@@ -68,6 +68,13 @@ STATIC_BINDINGS_DEPS =                                       \
        bt2/utils.py                                    \
        bt2/value.py
 
+# Convenience static libraries on which the Python bindings library depends.
+# These are listed in the setup.py(.in) file.
+STATIC_LIBRARIES_DEPS = \
+       $(top_builddir)/src/logging/libbabeltrace2-logging.la \
+       $(top_builddir)/src/common/libbabeltrace2-common.la \
+       $(top_builddir)/src/py-common/libbabeltrace2-py-common.la
+
 GENERATED_BINDINGS_DEPS =      \
        bt2/__init__.py         \
        bt2/native_bt.c         \
@@ -88,7 +95,8 @@ copy-static-deps.stamp: $(addprefix $(srcdir)/, $(STATIC_BINDINGS_DEPS))
        fi
        touch $@
 
-build-python-bindings.stamp: copy-static-deps.stamp $(GENERATED_BINDINGS_DEPS) $(STATIC_NATIVE_LIB_SRCS)
+build-python-bindings.stamp: copy-static-deps.stamp $(GENERATED_BINDINGS_DEPS) \
+               $(STATIC_NATIVE_LIB_SRCS) $(STATIC_LIBRARIES_DEPS)
        $(BUILD_FLAGS) $(PYTHON) $(builddir)/setup.py build --force
        touch $@
 
This page took 0.040614 seconds and 4 git commands to generate.