Skip to content

Commit b93e421

Browse files
[CI] Use LLVM_ENABLE_RUNTIMES for runtimes builds on Linux
This patch switches us to using LLVM_ENABLE_RUNTIMES rather than using separate runtimes builds for some reductions in CMake configuration time and some simplification of the monolithic-linux.sh script. Reviewers: DavidSpickett, cmtice, lnihlen, Endilll, tstellar Reviewed By: Endilll, DavidSpickett Pull Request: #142694
1 parent 20a6b63 commit b93e421

File tree

1 file changed

+10
-36
lines changed

1 file changed

+10
-36
lines changed

.ci/monolithic-linux.sh

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -102,51 +102,25 @@ if [[ "${runtimes}" != "" ]]; then
102102
exit 1
103103
fi
104104

105-
echo "--- ninja install-clang"
106-
107-
ninja -C ${BUILD_DIR} install-clang install-clang-resource-headers
108-
109-
RUNTIMES_BUILD_DIR="${MONOREPO_ROOT}/build-runtimes"
110-
INSTALL_DIR="${BUILD_DIR}/install"
111-
mkdir -p ${RUNTIMES_BUILD_DIR}
112-
113105
echo "--- cmake runtimes C++26"
114106

115-
rm -rf "${RUNTIMES_BUILD_DIR}"
116-
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
117-
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
118-
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
119-
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
120-
-D LIBCXX_CXX_ABI=libcxxabi \
121-
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
122-
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
123-
-D LIBCXX_TEST_PARAMS="std=c++26" \
124-
-D LIBCXXABI_TEST_PARAMS="std=c++26" \
125-
-D LLVM_LIT_ARGS="${lit_args}"
107+
cmake \
108+
-D LIBCXX_TEST_PARAMS="std=c++26" \
109+
-D LIBCXXABI_TEST_PARAMS="std=c++26" \
110+
"${BUILD_DIR}"
126111

127112
echo "--- ninja runtimes C++26"
128113

129-
ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
114+
ninja -C "${BUILD_DIR}" ${runtime_targets}
130115

131116
echo "--- cmake runtimes clang modules"
132117

133-
# We don't need to do a clean build of runtimes, because LIBCXX_TEST_PARAMS
134-
# and LIBCXXABI_TEST_PARAMS only affect lit configuration, which successfully
135-
# propagates without a clean build. Other that those two variables, builds
136-
# are supposed to be the same.
137-
138-
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
139-
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
140-
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
141-
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
142-
-D LIBCXX_CXX_ABI=libcxxabi \
143-
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
144-
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
145-
-D LIBCXX_TEST_PARAMS="enable_modules=clang" \
146-
-D LIBCXXABI_TEST_PARAMS="enable_modules=clang" \
147-
-D LLVM_LIT_ARGS="${lit_args}"
118+
cmake \
119+
-D LIBCXX_TEST_PARAMS="enable_modules=clang" \
120+
-D LIBCXXABI_TEST_PARAMS="enable_modules=clang" \
121+
"${BUILD_DIR}"
148122

149123
echo "--- ninja runtimes clang modules"
150124

151-
ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
125+
ninja -C "${BUILD_DIR}" ${runtime_targets}
152126
fi

0 commit comments

Comments
 (0)