blob: d233664be2f1ecd280f8a5a8364a02e67672ad7a [file] [log] [blame]
#!/bin/bash
# Copyright 2023 The IREE Authors
#
# Licensed 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
# Build and test, using CMake/CTest, with the bring-your-own-LLVM path.
set -xeuo pipefail
source build_tools/cmake/setup_ccache.sh
# Environment variables read by byo_llvm.sh.
export IREE_BYOLLVM_BUILD_DIR="${1:-build-byo-llvm}"
export IREE_BYOLLVM_INSTALL_DIR="${IREE_BYOLLVM_BUILD_DIR}/install"
python3 --version
# We've been instructed to set up a venv.
VENV_DIR="$IREE_BYOLLVM_BUILD_DIR/.venv"
echo "Setting up venv at $VENV_DIR"
python3 -m venv "$VENV_DIR"
source "$VENV_DIR/bin/activate"
python -m pip install -r runtime/bindings/python/iree/runtime/build_requirements.txt
python -m pip install -r third_party/llvm-project/mlir/python/requirements.txt
# Note: IREE's Python bindings for Python 3.13 are build with support for
# free-threading for which support was added to pybind with version 2.13.0.
# Therefore, we upgrade to a more recent version and avoid mixing of different
# pybind versions.
python -m pip install pybind11==2.13.6
# Note: by using the `build_llvm` action here, we are exercising byo_llvm.sh's
# ability to build LLVM... from our own third_party/llvm-project. That's not
# the most intuitive interpretation of "bring your own LLVM", since as far as
# the source repository is concerned, that's just the standard IREE-bundled one,
# but that exists for good reasons as some users need control more over the
# building and packaging than over the source repository, and that's good to
# have test coverage for, and of course that's more convenient for us to test.
build_tools/llvm/byo_llvm.sh build_llvm
build_tools/llvm/byo_llvm.sh build_mlir
build_tools/llvm/byo_llvm.sh build_iree
echo "*********************** TESTING IREE **********************************"
iree_build_dir="${IREE_BYOLLVM_BUILD_DIR}/iree"
echo "Build Directory: ${iree_build_dir}"
cmake --build "${iree_build_dir}" --target iree-test-deps
build_tools/cmake/ctest_all.sh "${iree_build_dir}"