KasmVNC/builder/scripts/build-libyuv

39 lines
984 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
LIBYUV_TAR_URL="https://chromium.googlesource.com/libyuv/libyuv/+archive/refs/heads/stable.tar.gz"
LIBYUV_TAR_FILE="/tmp/libyuv.tar.gz"
LIBYUV_SRC_DIR="/tmp/libyuv"
prepare_source() {
cd /tmp
# Remove old files if they exist
[ -f "$LIBYUV_TAR_FILE" ] && rm "$LIBYUV_TAR_FILE"
[ -d "$LIBYUV_SRC_DIR" ] && rm -rf "$LIBYUV_SRC_DIR"
mkdir -p "$LIBYUV_SRC_DIR"
wget "$LIBYUV_TAR_URL" -O "$LIBYUV_TAR_FILE"
tar -xzf "$LIBYUV_TAR_FILE" -C "$LIBYUV_SRC_DIR"
cd "$LIBYUV_SRC_DIR"
}
build_and_install() {
export MAKEFLAGS=-j$(nproc)
# Disable problematic NEON64 assembly for ARM64
if [ "$(uname -m)" = "aarch64" ]; then
EXTRA_CXXFLAGS="-DLIBYUV_DISABLE_NEON"
else
EXTRA_CXXFLAGS=""
fi
cp -r include/ /usr/
make V=1 -f linux.mk CFLAGS="-O2 -fomit-frame-pointer -fPIC" CXXFLAGS="-O2 -fomit-frame-pointer -fPIC $EXTRA_CXXFLAGS"
install -D -m 0644 libyuv.a /usr/lib/libyuv.a
}
prepare_source
build_and_install