diff --git a/llvm/utils/release/build-docs.sh b/llvm/utils/release/build-docs.sh
index ef3784959b4f3..1ab7561da9c01 100755
--- a/llvm/utils/release/build-docs.sh
+++ b/llvm/utils/release/build-docs.sh
@@ -20,7 +20,7 @@
# * pip install sphinx-markdown-tables
#===------------------------------------------------------------------------===#
-set -ex
+set -e
builddir=docs-build
srcdir=$(readlink -f $(dirname "$(readlink -f "$0")")/../..)
@@ -34,6 +34,8 @@ usage() {
echo " documentation from that source."
echo " -srcdir
Path to llvm source directory with CMakeLists.txt"
echo " (optional) default: $srcdir"
+ echo " -no-doxygen Don't build Doxygen docs"
+ echo " -no-sphinx Don't build Spinx docs"
}
package_doxygen() {
@@ -57,6 +59,12 @@ while [ $# -gt 0 ]; do
shift
custom_srcdir=$1
;;
+ -no-doxygen )
+ no_doxygen="yes"
+ ;;
+ -no-sphinx )
+ no_sphinx="yes"
+ ;;
* )
echo "unknown option: $1"
usage
@@ -89,28 +97,35 @@ if [ -n "$release" ]; then
srcdir="./llvm-project/llvm"
fi
+if [ "$no_doxygen" == "yes" ] && [ "$no_sphinx" == "yes" ]; then
+ echo "You can't specify both -no-doxygen and -no-sphinx, we have nothing to build then!"
+ exit 1
+fi
+
+if [ "$no_sphinx" != "yes" ]; then
+ echo "Sphinx: enabled"
+ sphinx_targets="docs-clang-html docs-clang-tools-html docs-flang-html docs-lld-html docs-llvm-html docs-polly-html"
+ sphinx_flag=" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF"
+else
+ echo "Sphinx: disabled"
+fi
+
+if [ "$no_doxygen" != "yes" ]; then
+ echo "Doxygen: enabled"
+ doxygen_targets="$docs_target doxygen-clang doxygen-clang-tools doxygen-flang doxygen-llvm doxygen-mlir doxygen-polly"
+ doxygen_flag=" -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_DOXYGEN_SVG=ON"
+else
+ echo "Doxygen: disabled"
+fi
+
cmake -G Ninja $srcdir -B $builddir \
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang" \
-DCMAKE_BUILD_TYPE=Release \
- -DLLVM_ENABLE_DOXYGEN=ON \
- -DLLVM_ENABLE_SPHINX=ON \
-DLLVM_BUILD_DOCS=ON \
- -DLLVM_DOXYGEN_SVG=ON \
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ $sphinx_flag \
+ $doxygen_flag
-ninja -C $builddir \
- docs-clang-html \
- docs-clang-tools-html \
- docs-flang-html \
- docs-lld-html \
- docs-llvm-html \
- docs-polly-html \
- doxygen-clang \
- doxygen-clang-tools \
- doxygen-flang \
- doxygen-llvm \
- doxygen-mlir \
- doxygen-polly
+ninja -C $builddir $sphinx_targets $doxygen_targets
cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
@@ -120,10 +135,16 @@ cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
ninja -C $builddir/runtimes-doc \
docs-libcxx-html \
-package_doxygen llvm .
-package_doxygen clang tools/clang
-package_doxygen clang-tools-extra tools/clang/tools/extra
-package_doxygen flang tools/flang
+if [ "$no_doxygen" != "yes" ]; then
+ package_doxygen llvm .
+ package_doxygen clang tools/clang
+ package_doxygen clang-tools-extra tools/clang/tools/extra
+ package_doxygen flang tools/flang
+fi
+
+if [ "$no_sphinx" == "yes" ]; then
+ exit 0
+fi
html_dir=$builddir/html-export/