[llvm] Update monolithic-linux.sh (PR #135282)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 10 16:29:38 PDT 2025
https://github.com/ram-skrrrtskrrrt created https://github.com/llvm/llvm-project/pull/135282
None
>From 2f5afcfc2330b8b1c02aedea5bb37a29b92bb199 Mon Sep 17 00:00:00 2001
From: owshiiii <201320587+ram-skrrrtskrrrt at users.noreply.github.com>
Date: Fri, 11 Apr 2025 07:29:17 +0800
Subject: [PATCH] Update monolithic-linux.sh
---
.ci/monolithic-linux.sh | 135 ----------------------------------------
1 file changed, 135 deletions(-)
diff --git a/.ci/monolithic-linux.sh b/.ci/monolithic-linux.sh
index 13c7a93c364db..8b137891791fe 100755
--- a/.ci/monolithic-linux.sh
+++ b/.ci/monolithic-linux.sh
@@ -1,136 +1 @@
-#!/usr/bin/env bash
-#===----------------------------------------------------------------------===##
-#
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-#
-#===----------------------------------------------------------------------===##
-#
-# This script performs a monolithic build of the monorepo and runs the tests of
-# most projects on Linux. This should be replaced by per-project scripts that
-# run only the relevant tests.
-#
-
-set -ex
-set -o pipefail
-
-MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
-BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}"
-INSTALL_DIR="${BUILD_DIR}/install"
-rm -rf "${BUILD_DIR}"
-
-ccache --zero-stats
-
-if [[ -n "${CLEAR_CACHE:-}" ]]; then
- echo "clearing cache"
- ccache --clear
-fi
-
-function at-exit {
- retcode=$?
-
- mkdir -p artifacts
- ccache --print-stats > artifacts/ccache_stats.txt
-
- # If building fails there will be no results files.
- shopt -s nullglob
- if command -v buildkite-agent 2>&1 >/dev/null
- then
- python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_buildkite.py ":linux: Linux x64 Test Results" \
- "linux-x64-test-results" $retcode "${BUILD_DIR}"/test-results.*.xml
- else
- python3 "${MONOREPO_ROOT}"/.ci/generate_test_report_github.py ":linux: Linux x64 Test Results" \
- $retcode "${BUILD_DIR}"/test-results.*.xml >> $GITHUB_STEP_SUMMARY
- fi
-}
-trap at-exit EXIT
-
-projects="${1}"
-targets="${2}"
-
-lit_args="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml --use-unique-output-file-name --timeout=1200 --time-tests"
-
-echo "--- cmake"
-export PIP_BREAK_SYSTEM_PACKAGES=1
-pip install -q -r "${MONOREPO_ROOT}"/mlir/python/requirements.txt
-pip install -q -r "${MONOREPO_ROOT}"/lldb/test/requirements.txt
-pip install -q -r "${MONOREPO_ROOT}"/.ci/requirements.txt
-cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
- -D LLVM_ENABLE_PROJECTS="${projects}" \
- -G Ninja \
- -D CMAKE_BUILD_TYPE=Release \
- -D LLVM_ENABLE_ASSERTIONS=ON \
- -D LLVM_BUILD_EXAMPLES=ON \
- -D COMPILER_RT_BUILD_LIBFUZZER=OFF \
- -D LLVM_LIT_ARGS="${lit_args}" \
- -D LLVM_ENABLE_LLD=ON \
- -D CMAKE_CXX_FLAGS=-gmlt \
- -D LLVM_CCACHE_BUILD=ON \
- -D MLIR_ENABLE_BINDINGS_PYTHON=ON \
- -D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
-
-echo "--- ninja"
-# Targets are not escaped as they are passed as separate arguments.
-ninja -C "${BUILD_DIR}" -k 0 ${targets}
-
-runtimes="${3}"
-runtime_targets="${4}"
-
-# Compiling runtimes with just-built Clang and running their tests
-# as an additional testing for Clang.
-if [[ "${runtimes}" != "" ]]; then
- if [[ "${runtime_targets}" == "" ]]; then
- echo "Runtimes to build are specified, but targets are not."
- exit 1
- fi
-
- echo "--- ninja install-clang"
-
- ninja -C ${BUILD_DIR} install-clang install-clang-resource-headers
-
- RUNTIMES_BUILD_DIR="${MONOREPO_ROOT}/build-runtimes"
- INSTALL_DIR="${BUILD_DIR}/install"
- mkdir -p ${RUNTIMES_BUILD_DIR}
-
- echo "--- cmake runtimes C++26"
-
- rm -rf "${RUNTIMES_BUILD_DIR}"
- cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
- -D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
- -D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
- -D LLVM_ENABLE_RUNTIMES="${runtimes}" \
- -D LIBCXX_CXX_ABI=libcxxabi \
- -D CMAKE_BUILD_TYPE=RelWithDebInfo \
- -D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
- -D LIBCXX_TEST_PARAMS="std=c++26" \
- -D LIBCXXABI_TEST_PARAMS="std=c++26" \
- -D LLVM_LIT_ARGS="${lit_args}"
-
- echo "--- ninja runtimes C++26"
-
- ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
-
- echo "--- cmake runtimes clang modules"
-
- # We don't need to do a clean build of runtimes, because LIBCXX_TEST_PARAMS
- # and LIBCXXABI_TEST_PARAMS only affect lit configuration, which successfully
- # propagates without a clean build. Other that those two variables, builds
- # are supposed to be the same.
-
- cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
- -D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
- -D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
- -D LLVM_ENABLE_RUNTIMES="${runtimes}" \
- -D LIBCXX_CXX_ABI=libcxxabi \
- -D CMAKE_BUILD_TYPE=RelWithDebInfo \
- -D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
- -D LIBCXX_TEST_PARAMS="enable_modules=clang" \
- -D LIBCXXABI_TEST_PARAMS="enable_modules=clang" \
- -D LLVM_LIT_ARGS="${lit_args}"
-
- echo "--- ninja runtimes clang modules"
-
- ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
-fi
More information about the llvm-commits
mailing list