diff options
Diffstat (limited to 'riscv_script/prepare_toolchain_qemu.sh')
-rwxr-xr-x | riscv_script/prepare_toolchain_qemu.sh | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/riscv_script/prepare_toolchain_qemu.sh b/riscv_script/prepare_toolchain_qemu.sh deleted file mode 100755 index 2a901739..00000000 --- a/riscv_script/prepare_toolchain_qemu.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -set -ev - -# Download & build RISC-V Clang toolchain & QEMU emulator. -# RISC-V Clang is for cross compile with the RISC-V Vector ISA. -# RISC-V QEMU is used to run the test suite. -# -# Requirements: Linux host w/ working C++ compiler, git, cmake, ninja, wget, tar - -# NOTE: this script must be run from the top-level directory of the LIBYUV_SRC_DIR. - -RISCV_TRIPLE="riscv64-unknown-linux-gnu" -RISCV_QEMU="qemu-riscv64" - -LIBYUV_SRC_DIR=$(pwd) -BUILD_DIR="$LIBYUV_SRC_DIR"/build-toolchain-qemu -INSTALL_QEMU="$BUILD_DIR"/riscv-qemu -INSTALL_CLANG="$BUILD_DIR"/riscv-clang - -LLVM_VERSION="16.0.0" -LLVM_NAME=llvm-project-"$LLVM_VERSION".src - -RISCV_GNU_TOOLCHAIN="$BUILD_DIR"/riscv-gnu-toolchain -RISCV_CLANG_TOOLCHAIN="$BUILD_DIR"/"$LLVM_NAME" - -QEMU_NAME="qemu-7.0.0" - -mkdir -p "$BUILD_DIR" -cd "$BUILD_DIR" - -# Download and install RISC-V GNU Toolchain (needed to build Clang) -if [ ! -d "$RISCV_GNU_TOOLCHAIN" ] -then - git clone git@github.com:riscv/riscv-gnu-toolchain.git - pushd "$RISCV_GNU_TOOLCHAIN" - git submodule update --init --recursive - ./configure --with-cmodel=medany --prefix="$INSTALL_CLANG" - ionice nice make linux -j `nproc` install - popd -fi - -# Download Clang toolchain & build cross compiler -if [ ! -d "$RISCV_CLANG_TOOLCHAIN" ] -then - wget https://github.com/llvm/llvm-project/releases/download/llvmorg-"$LLVM_VERSION"/"$LLVM_NAME".tar.xz - tar xvJf "$LLVM_NAME".tar.xz - pushd "$RISCV_CLANG_TOOLCHAIN" - cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_CLANG" \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_TARGETS_TO_BUILD="RISCV" \ - -DLLVM_ENABLE_PROJECTS="clang" \ - -DLLVM_DEFAULT_TARGET_TRIPLE="$RISCV_TRIPLE" \ - -DLLVM_INSTALL_TOOLCHAIN_ONLY=On \ - -DDEFAULT_SYSROOT=../sysroot \ - -G "Ninja" "$RISCV_CLANG_TOOLCHAIN"/llvm - ionice nice ninja -j `nproc` - ionice nice ninja -j `nproc` install - popd - pushd "$INSTALL_CLANG"/bin - ln -sf clang "$RISCV_TRIPLE"-clang - ln -sf clang++ "$RISCV_TRIPLE"-clang++ - popd -fi - -# Download QEMU and build the riscv64 Linux usermode emulator -if [ ! -d "$QEMU_NAME" ] -then - wget https://download.qemu.org/"$QEMU_NAME".tar.xz - tar xvJf "$QEMU_NAME".tar.xz - pushd "$QEMU_NAME" - ./configure --target-list=riscv64-linux-user --prefix="$INSTALL_QEMU" - ionice nice make -j `nproc` install - popd -fi |