#!/bin/bash set -e PROFILE=${1:-"release"} SYSROOT=`pwd`/scripts/servo-arm64-sysroot export PKG_CONFIG_SYSROOT_DIR=${SYSROOT} export PKG_CONFIG_ALLOW_CROSS=1 export CC=clang export CXX=clang++ export AR=llvm-ar CXX_INCLUDES="-I${SYSROOT}/usr/include/c++/8/" # We need -fuse-ld=lld here for jemalloc-sys export TARGET_CFLAGS="--sysroot=${SYSROOT} -fuse-ld=lld -I${SYSROOT}/usr/include/aarch64-linux-gnu" export TARGET_CXXFLAGS="--sysroot=${SYSROOT} $CXX_INCLUDES" export CFLAGS="$TARGET_CFLAGS -I${SYSROOT}/usr/include/aarch64-linux-gnu" # Needed for mozjs bindgen export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${SYSROOT} $CXX_INCLUDES" # Needed for cmake export LDFLAGS="-L${SYSROOT}/lib/aarch64-linux-gnu -fuse-ld=lld" # Build without tray icon or global key support cargo build --target aarch64-unknown-linux-gnu --profile ${PROFILE} -p beaver-shell \ --no-default-features \ --features="libservo/clipboard,js_jit,max_log_level,webgpu" llvm-strip target/aarch64-unknown-linux-gnu/${PROFILE}/beavershell REMOTE_DIR=/home/mobian/beaver echo "Pushing update..." # Create the beaver directory if needed. ssh mobian@mobian 'mkdir -p /home/mobian/beaver' # rsync the binary rsync -vz --progress target/aarch64-unknown-linux-gnu/${PROFILE}/beavershell \ mobian@mobian:${REMOTE_DIR}/beavershell # rsync the resources rsync -avz --progress resources mobian@mobian:${REMOTE_DIR}/ # rsync the UI rsync -avz --progress ui mobian@mobian:${REMOTE_DIR}/ echo "done!"