#!/usr/bin/env bash # exit when any command fails set -e # Package shared/rarely-changing library artifacts. # # Produces 5 total artifacts: # - breezyVulkan-libs-x86_64.tar.gz # - breezyGNOME-libs-$ARCH.tar.gz (x86_64 + aarch64) # - breezyKWin-libs-$ARCH.tar.gz (x86_64 + aarch64) ARCHITECTURES=("x86_64" "aarch64") VULKAN_ARCHITECTURES=("x86_64") APPS=("breezyVulkan" "breezyGNOME" "breezyKWin") # https://stackoverflow.com/a/246128 SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) ROOT_DIR=$(realpath "$SCRIPT_DIR/..") XR_DRIVER_DIR="$ROOT_DIR/modules/XRLinuxDriver" VULKAN_DIR="$ROOT_DIR/vulkan" VKBASALT_MODULE_DIR="$VULKAN_DIR/modules/vkBasalt" VKBASALT_BUILD_DIR="$VKBASALT_MODULE_DIR/out" echo "Building XR Driver libs packages" pushd "$XR_DRIVER_DIR" > /dev/null ./bin/package_libs popd > /dev/null echo "Building vkBasalt build artifacts" if [ ! -d "$VKBASALT_BUILD_DIR" ] || [ "${1:-}" == "--rebuild-vkbasalt" ]; then pushd "$VKBASALT_MODULE_DIR" > /dev/null ./docker-build popd > /dev/null fi echo "Building Breezy libs packages for all architectures" BUILD_PATH="$ROOT_DIR/build" mkdir -p "$BUILD_PATH" pushd "$BUILD_PATH" > /dev/null for APP in "${APPS[@]}"; do ARCHES=("${ARCHITECTURES[@]}") if [ "$APP" == "breezyVulkan" ]; then ARCHES=("${VULKAN_ARCHITECTURES[@]}") fi for ARCH in "${ARCHES[@]}"; do XR_LIB_ARCHIVE="$XR_DRIVER_DIR/out/xrDriver-libs-$ARCH.tar.gz" PACKAGE_LIB_DIR=breezy_desktop_lib rm -rf "$PACKAGE_LIB_DIR" mkdir -p "$PACKAGE_LIB_DIR" cp "$XR_LIB_ARCHIVE" "$PACKAGE_LIB_DIR/" if [ "$APP" == "breezyVulkan" ]; then mkdir -p "$PACKAGE_LIB_DIR"/{vkBasalt.64,vkBasalt.32} cp "$VKBASALT_BUILD_DIR/builddir/src/libvkbasalt.so" "$PACKAGE_LIB_DIR/vkBasalt.64/" cp "$VKBASALT_BUILD_DIR/builddir/config/vkBasalt.json" "$PACKAGE_LIB_DIR/vkBasalt.64/" cp "$VKBASALT_BUILD_DIR/builddir.32/src/libvkbasalt.so" "$PACKAGE_LIB_DIR/vkBasalt.32/" fi LIB_ARTIFACT_NAME="$APP-libs-$ARCH.tar.gz" tar -zcvf "$LIB_ARTIFACT_NAME" "$PACKAGE_LIB_DIR" > /dev/null # Clean up for next iteration rm -rf "$PACKAGE_LIB_DIR" done done popd > /dev/null mkdir -p "$ROOT_DIR/out" cp "$BUILD_PATH"/breezy*-libs-*.tar.gz "$ROOT_DIR/out/" rm -f "$BUILD_PATH"/breezy*-libs-*.tar.gz