compile-qemu-for-decoder/compile-qemu-for-decoder.sh
2026-04-01 03:42:09 -07:00

46 lines
1.4 KiB
Bash
Executable file

#!/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