mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-27 15:41:46 +00:00
2170252b44
PR for: https://discourse.llvm.org/t/add-check-mlir-python-to-the-mlir-pre-commit-tests/74041 It’s easy to forget about the Python bindings and not build/test them locally. It’s also easy to change something that’ll break the python binding tests and not find out till after you’ve committed your change. These tests seem to run quickly and don’t require much extra setup, so let's add them to the general MLIR pre-merge tests.
58 lines
1.7 KiB
Bash
Executable File
58 lines
1.7 KiB
Bash
Executable File
#!/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}"
|
|
rm -rf ${BUILD_DIR}
|
|
|
|
ccache --zero-stats
|
|
|
|
if [[ -n "${CLEAR_CACHE:-}" ]]; then
|
|
echo "clearing cache"
|
|
ccache --clear
|
|
fi
|
|
|
|
function show-stats {
|
|
mkdir -p artifacts
|
|
ccache --print-stats > artifacts/ccache_stats.txt
|
|
}
|
|
trap show-stats EXIT
|
|
|
|
projects="${1}"
|
|
targets="${2}"
|
|
|
|
echo "--- cmake"
|
|
pip install -q -r ${MONOREPO_ROOT}/mlir/python/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="-v --xunit-xml-output ${BUILD_DIR}/test-results.xml" \
|
|
-D LLVM_ENABLE_LLD=ON \
|
|
-D CMAKE_CXX_FLAGS=-gmlt \
|
|
-D BOLT_CLANG_EXE=/usr/bin/clang \
|
|
-D LLVM_CCACHE_BUILD=ON \
|
|
-D MLIR_ENABLE_BINDINGS_PYTHON=ON
|
|
|
|
echo "--- ninja"
|
|
# Targets are not escaped as they are passed as separate arguments.
|
|
ninja -C "${BUILD_DIR}" ${targets}
|