Add --enable-asan configure option
[babeltrace.git] / doc / bindings / python / Makefile.am
1 # SPDX-License-Identifier: MIT
2
3 SPHINX_SOURCE_DIR = $(srcdir)/source
4 SPHINX_EXT_DIR = $(srcdir)/ext
5 SPHINX_BUILD_DIR = $(builddir)/build
6 SPHINX_BUILD_HTML_DIR = $(SPHINX_BUILD_DIR)/html
7 SPHINX_HTML_TARGET = $(SPHINX_BUILD_HTML_DIR)/index.html
8
9 EXTRA_DIST = $(SPHINX_SOURCE_DIR) $(SPHINX_EXT_DIR)
10
11 all-local: $(SPHINX_HTML_TARGET)
12
13 PYTHON_BT2_BUILD_LIB_DIR = $(abs_top_builddir)/src/bindings/python/bt2/build/build_lib
14 PP = $(PYTHON_BT2_BUILD_LIB_DIR)
15 LLP = $(abs_top_builddir)/src/lib/.libs
16
17 # Sphinx loads the bt2 Python module and thus libbabeltrace2.so. If
18 # AddressSanitizer is used, we must preload libasan.so so that libasan doesn't
19 # complain about not being the first loaded library.
20 #
21 # Python produces some leaks, so disable leak detection (we don't care about
22 # leaks here anyway).
23 if ENABLE_ASAN
24 MAYBE_LD_PRELOAD = LD_PRELOAD="$$($(CC) -print-file-name=libasan.so):$(LD_PRELOAD)"
25 MAYBE_ASAN_OPTIONS = ASAN_OPTIONS="$(ASAN_OPTIONS),detect_leaks=0"
26 endif
27
28 # `PATH` is used as a replacement for `LD_LIBRARY_PATH` on Windows
29 # builds (Cygwin, MinGW).
30 #
31 # `DYLD_LIBRARY_PATH` is used a replacement for `LD_LIBRARY_PATH` on
32 # macOS builds.
33 SPHINXBUILD = \
34 PATH="$(LLP):$$PATH" \
35 PYTHONPATH="$(PP):$(SPHINX_EXT_DIR)" \
36 LD_LIBRARY_PATH="$(LLP)" \
37 DYLD_LIBRARY_PATH="$(LLP)" \
38 $(MAYBE_LD_PRELOAD) \
39 $(MAYBE_ASAN_OPTIONS) \
40 $(PYTHON) -m sphinx
41 SPHINX_SRC = \
42 $(SPHINX_SOURCE_DIR)/common.rst \
43 $(SPHINX_SOURCE_DIR)/index.rst \
44 $(SPHINX_SOURCE_DIR)/installation.rst \
45 $(SPHINX_SOURCE_DIR)/examples.rst
46
47 $(SPHINX_HTML_TARGET): $(SPHINX_SRC)
48 $(SPHINXBUILD) -b html -E $(SPHINX_SOURCE_DIR) $(SPHINX_BUILD_HTML_DIR)
49
50 clean-local:
51 rm -rf $(SPHINX_BUILD_DIR)
This page took 0.03206 seconds and 5 git commands to generate.