#!/bin/bash # SPDX-License-Identifier: LGPL-3.0-or-later # See Notices.txt for copyright information set -e function download_if_needed() { local dest="$1" hash="$2" url="$3" if [[ ! -f "$1" ]]; then wget -O "$dest" "$url" fi sha256sum -c <<<"$hash *$dest" } function build-qemu() ( [[ -x "$QEMU_SOURCE/configure" ]] || tar -xJf "downloads/$QEMU_SOURCE.tar.xz" rm -rf "$QEMU_BUILD" mkdir -p "$QEMU_BUILD" cd "$QEMU_BUILD" export CC="clang-20 --target=powerpc64le-linux-gnu" export CXX="clang++-20 --target=powerpc64le-linux-gnu" export LD="clang++-20 --target=powerpc64le-linux-gnu" export AR="llvm-ar-20" "../$QEMU_SOURCE/configure" \ --target-list=ppc64-softmmu \ --enable-lto \ --enable-tcg-interpreter \ --without-default-features \ --cross-prefix=powerpc64le-linux-gnu- QEMU_LIBRARIES_WE_USE=(libqemu-ppc64-softmmu.a libqom.a) make -j"$(nproc)" "${QEMU_LIBRARIES_WE_USE[@]}" llvm-link-20 -o ../libqemu-ppc64-softmmu.bc "${QEMU_LIBRARIES_WE_USE[@]}" ) mkdir -p downloads QEMU_SOURCE=qemu-10.2.2 QEMU_SOURCE_HASH=784b296ff29c1417aa72323abcb2d2ea9ab9771724f577dcd785c3b04f21e176 QEMU_BUILD="$QEMU_SOURCE-build" download_if_needed "downloads/$QEMU_SOURCE.tar.xz" "$QEMU_SOURCE_HASH" \ "https://download.qemu.org/$QEMU_SOURCE.tar.xz" build-qemu llvm-dis-20 -o libqemu-ppc64-softmmu.ll libqemu-ppc64-softmmu.bc