Remove `skip-string-normalization` in Python formatter config
[babeltrace.git] / doc / bindings / python / Makefile.am
index 2d7dac3b2add920a179b376a977972ee97c1581a..a552196782808ee1bb9b6909dc58b6e32e007c54 100644 (file)
@@ -1,40 +1,51 @@
+# SPDX-License-Identifier: MIT
+
 SPHINX_SOURCE_DIR = $(srcdir)/source
-SPHINX_BUILD_DIR = build
+SPHINX_EXT_DIR = $(srcdir)/ext
+SPHINX_BUILD_DIR = $(builddir)/build
 SPHINX_BUILD_HTML_DIR = $(SPHINX_BUILD_DIR)/html
-SPHINX_BUILD_DIRHTML_DIR = $(SPHINX_BUILD_DIR)/dirhtml
-
 SPHINX_HTML_TARGET = $(SPHINX_BUILD_HTML_DIR)/index.html
-SPHINX_DIRHTML_TARGET = $(SPHINX_BUILD_DIRHTML_DIR)/index.html
-
-EXTRA_DIST = $(srcdir)/source
-
-all-local: $(SPHINX_HTML_TARGET) $(SPHINX_DIRHTML_TARGET)
-
-PP = .:swig-libs
-LLP = $(top_builddir)/formats/ctf/.libs:$(top_builddir)/lib/.libs
-
-LOCAL_SPHINXBUILD = PYTHONPATH="$(PP)" LD_LIBRARY_PATH="$(LLP)" $(PYTHON) $(srcdir)/sphinx-build.py
-
-SPHINX_SRC = $(wildcard $(SPHINX_SOURCE_DIR)/*.rst)
-
-BABELTRACE_PYTHON_DEPS = babeltrace swig-libs
-
-$(SPHINX_HTML_TARGET): $(SPHINX_SRC) $(BABELTRACE_PYTHON_DEPS)
-       $(LOCAL_SPHINXBUILD) -b html -E $(SPHINX_SOURCE_DIR) $(SPHINX_BUILD_HTML_DIR)
-
-$(SPHINX_DIRHTML_TARGET): $(SPHINX_SRC) $(BABELTRACE_PYTHON_DEPS)
-       $(LOCAL_SPHINXBUILD) -b dirhtml -E $(SPHINX_SOURCE_DIR) $(SPHINX_BUILD_DIRHTML_DIR)
-
-swig-libs:
-       $(LN_S) $(abs_top_builddir)/bindings/python/.libs $@
 
-babeltrace:
-       $(mkdir_p) $@
-       $(LN_S) $(abs_top_builddir)/bindings/python/__init__.py $@/__init__.py
-       $(LN_S) $(abs_top_srcdir)/bindings/python/common.py $@/common.py
-       $(LN_S) $(abs_top_srcdir)/bindings/python/reader.py $@/reader.py
-       $(LN_S) $(abs_top_srcdir)/bindings/python/writer.py $@/writer.py
-       $(LN_S) $(abs_top_builddir)/bindings/python/nativebt.py $@/nativebt.py
+EXTRA_DIST = $(SPHINX_SOURCE_DIR) $(SPHINX_EXT_DIR)
+
+all-local: $(SPHINX_HTML_TARGET)
+
+PYTHON_BT2_BUILD_LIB_DIR = $(abs_top_builddir)/src/bindings/python/bt2/build/build_lib
+PP = $(PYTHON_BT2_BUILD_LIB_DIR)
+LLP = $(abs_top_builddir)/src/lib/.libs
+
+# Sphinx loads the bt2 Python module and thus libbabeltrace2.so.  If
+# AddressSanitizer is used, we must preload libasan.so so that libasan doesn't
+# complain about not being the first loaded library.
+#
+# Python produces some leaks, so disable leak detection (we don't care about
+# leaks here anyway).
+if ENABLE_ASAN
+MAYBE_LD_PRELOAD = LD_PRELOAD="$$($(CC) -print-file-name=libasan.so):$(LD_PRELOAD)"
+MAYBE_ASAN_OPTIONS = ASAN_OPTIONS="$(ASAN_OPTIONS),detect_leaks=0"
+endif
+
+# `PATH` is used as a replacement for `LD_LIBRARY_PATH` on Windows
+# builds (Cygwin, MinGW).
+#
+# `DYLD_LIBRARY_PATH` is used a replacement for `LD_LIBRARY_PATH` on
+# macOS builds.
+SPHINXBUILD = \
+       PATH="$(LLP):$$PATH" \
+       PYTHONPATH="$(PP):$(SPHINX_EXT_DIR)" \
+       LD_LIBRARY_PATH="$(LLP)" \
+       DYLD_LIBRARY_PATH="$(LLP)" \
+       $(MAYBE_LD_PRELOAD) \
+       $(MAYBE_ASAN_OPTIONS) \
+       $(PYTHON) -m sphinx
+SPHINX_SRC = \
+       $(SPHINX_SOURCE_DIR)/common.rst \
+       $(SPHINX_SOURCE_DIR)/index.rst \
+       $(SPHINX_SOURCE_DIR)/installation.rst \
+       $(SPHINX_SOURCE_DIR)/examples.rst
+
+$(SPHINX_HTML_TARGET): $(SPHINX_SRC)
+       $(SPHINXBUILD) -b html -E $(SPHINX_SOURCE_DIR) $(SPHINX_BUILD_HTML_DIR)
 
 clean-local:
-       rm -rf $(SPHINX_BUILD_DIR) swig-libs babeltrace
+       rm -rf $(SPHINX_BUILD_DIR)
This page took 0.024031 seconds and 4 git commands to generate.