Skip to content

Commit 6e72250

Browse files
committed
build-docs: Add option to disable doxygen docs
Doxygen documentation takes very long to build, when making releases we want to get the normal documentation up earlier so that we don't have to wait for doxygen documentation. This PR just adds the flag to disable doxygen builds, I will then later make a PR that changes the actions to first build the normal docs and another job to build the doxygen docs.
1 parent b8e9450 commit 6e72250

File tree

1 file changed

+24
-21
lines changed

1 file changed

+24
-21
lines changed

llvm/utils/release/build-docs.sh

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
# * pip install sphinx-markdown-tables
2121
#===------------------------------------------------------------------------===#
2222

23-
set -ex
23+
set -e
2424

2525
builddir=docs-build
2626
srcdir=$(readlink -f $(dirname "$(readlink -f "$0")")/../..)
@@ -34,6 +34,7 @@ usage() {
3434
echo " documentation from that source."
3535
echo " -srcdir <dir> Path to llvm source directory with CMakeLists.txt"
3636
echo " (optional) default: $srcdir"
37+
echo " -no-doxygen Don't build Doxygen docs"
3738
}
3839

3940
package_doxygen() {
@@ -57,6 +58,9 @@ while [ $# -gt 0 ]; do
5758
shift
5859
custom_srcdir=$1
5960
;;
61+
-no-doxygen )
62+
no_doxygen="yes"
63+
;;
6064
* )
6165
echo "unknown option: $1"
6266
usage
@@ -89,28 +93,25 @@ if [ -n "$release" ]; then
8993
srcdir="./llvm-project/llvm"
9094
fi
9195

96+
docs_targets="docs-clang-html docs-clang-tools-html docs-flang-html docs-lld-html docs-llvm-html docs-polly-html"
97+
98+
if [ "$no_doxygen" != "yes" ]; then
99+
echo "Doxygen: enabled"
100+
docs_targets="$docs_target doxygen-clang doxygen-clang-tools doxygen-flang doxygen-llvm doxygen-mlir doxygen-polly"
101+
doxygen_flag=" -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_DOXYGEN_SVG=ON"
102+
else
103+
echo "Doxygen: disabled"
104+
fi
105+
92106
cmake -G Ninja $srcdir -B $builddir \
93107
-DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;polly;flang" \
94108
-DCMAKE_BUILD_TYPE=Release \
95-
-DLLVM_ENABLE_DOXYGEN=ON \
96109
-DLLVM_ENABLE_SPHINX=ON \
97110
-DLLVM_BUILD_DOCS=ON \
98-
-DLLVM_DOXYGEN_SVG=ON \
99-
-DSPHINX_WARNINGS_AS_ERRORS=OFF
111+
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
112+
$doxygen_flag
100113

101-
ninja -C $builddir \
102-
docs-clang-html \
103-
docs-clang-tools-html \
104-
docs-flang-html \
105-
docs-lld-html \
106-
docs-llvm-html \
107-
docs-polly-html \
108-
doxygen-clang \
109-
doxygen-clang-tools \
110-
doxygen-flang \
111-
doxygen-llvm \
112-
doxygen-mlir \
113-
doxygen-polly
114+
ninja -C $builddir $docs_targets
114115

115116
cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
116117
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \
@@ -120,10 +121,12 @@ cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
120121
ninja -C $builddir/runtimes-doc \
121122
docs-libcxx-html \
122123

123-
package_doxygen llvm .
124-
package_doxygen clang tools/clang
125-
package_doxygen clang-tools-extra tools/clang/tools/extra
126-
package_doxygen flang tools/flang
124+
if [ "$no_doxygen" != "yes" ]; then
125+
package_doxygen llvm .
126+
package_doxygen clang tools/clang
127+
package_doxygen clang-tools-extra tools/clang/tools/extra
128+
package_doxygen flang tools/flang
129+
fi
127130

128131
html_dir=$builddir/html-export/
129132

0 commit comments

Comments
 (0)