20
20
# * pip install sphinx-markdown-tables
21
21
# ===------------------------------------------------------------------------===#
22
22
23
- set -ex
23
+ set -e
24
24
25
25
builddir=docs-build
26
26
srcdir=$( readlink -f $( dirname " $( readlink -f " $0 " ) " ) /../..)
@@ -34,6 +34,8 @@ usage() {
34
34
echo " documentation from that source."
35
35
echo " -srcdir <dir> Path to llvm source directory with CMakeLists.txt"
36
36
echo " (optional) default: $srcdir "
37
+ echo " -no-doxygen Don't build Doxygen docs"
38
+ echo " -no-sphinx Don't build Spinx docs"
37
39
}
38
40
39
41
package_doxygen () {
@@ -57,6 +59,12 @@ while [ $# -gt 0 ]; do
57
59
shift
58
60
custom_srcdir=$1
59
61
;;
62
+ -no-doxygen )
63
+ no_doxygen=" yes"
64
+ ;;
65
+ -no-sphinx )
66
+ no_sphinx=" yes"
67
+ ;;
60
68
* )
61
69
echo " unknown option: $1 "
62
70
usage
@@ -89,28 +97,35 @@ if [ -n "$release" ]; then
89
97
srcdir=" ./llvm-project/llvm"
90
98
fi
91
99
100
+ if [ " $no_doxygen " == " yes" ] && [ " $no_sphinx " == " yes" ]; then
101
+ echo " You can't specify both -no-doxygen and -no-sphinx, we have nothing to build then!"
102
+ exit 1
103
+ fi
104
+
105
+ if [ " $no_sphinx " != " yes" ]; then
106
+ echo " Sphinx: enabled"
107
+ sphinx_targets=" docs-clang-html docs-clang-tools-html docs-flang-html docs-lld-html docs-llvm-html docs-polly-html"
108
+ sphinx_flag=" -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF"
109
+ else
110
+ echo " Sphinx: disabled"
111
+ fi
112
+
113
+ if [ " $no_doxygen " != " yes" ]; then
114
+ echo " Doxygen: enabled"
115
+ doxygen_targets=" $docs_target doxygen-clang doxygen-clang-tools doxygen-flang doxygen-llvm doxygen-mlir doxygen-polly"
116
+ doxygen_flag=" -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_DOXYGEN_SVG=ON"
117
+ else
118
+ echo " Doxygen: disabled"
119
+ fi
120
+
92
121
cmake -G Ninja $srcdir -B $builddir \
93
122
-DLLVM_ENABLE_PROJECTS=" clang;clang-tools-extra;lld;polly;flang" \
94
123
-DCMAKE_BUILD_TYPE=Release \
95
- -DLLVM_ENABLE_DOXYGEN=ON \
96
- -DLLVM_ENABLE_SPHINX=ON \
97
124
-DLLVM_BUILD_DOCS=ON \
98
- -DLLVM_DOXYGEN_SVG=ON \
99
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
125
+ $sphinx_flag \
126
+ $doxygen_flag
100
127
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
128
+ ninja -C $builddir $sphinx_targets $doxygen_targets
114
129
115
130
cmake -G Ninja $srcdir /../runtimes -B $builddir /runtimes-doc \
116
131
-DLLVM_ENABLE_RUNTIMES=" libcxx;libcxxabi;libunwind" \
@@ -120,10 +135,16 @@ cmake -G Ninja $srcdir/../runtimes -B $builddir/runtimes-doc \
120
135
ninja -C $builddir /runtimes-doc \
121
136
docs-libcxx-html \
122
137
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
138
+ if [ " $no_doxygen " != " yes" ]; then
139
+ package_doxygen llvm .
140
+ package_doxygen clang tools/clang
141
+ package_doxygen clang-tools-extra tools/clang/tools/extra
142
+ package_doxygen flang tools/flang
143
+ fi
144
+
145
+ if [ " $no_sphinx " == " yes" ]; then
146
+ exit 0
147
+ fi
127
148
128
149
html_dir=$builddir /html-export/
129
150
0 commit comments