#!/bin/sh set -eu fixture_directory=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) workspace_directory=$(CDPATH= cd -- "$fixture_directory/../.." && pwd) cache_directory=$workspace_directory/.tmp/exec-from-filesystem-zig-cache output=$fixture_directory/exec-from-filesystem.aarch64.elf zig_version=$(zig version) if [ "$zig_version" != "0.16.0" ]; then echo "exec-from-filesystem requires Zig 0.16.0; found $zig_version" >&2 exit 1 fi mkdir -p "$cache_directory/local" "$cache_directory/global" env \ ZIG_LOCAL_CACHE_DIR="$cache_directory/local" \ ZIG_GLOBAL_CACHE_DIR="$cache_directory/global" \ zig cc \ -target aarch64-linux-musl \ -nostdlib \ -static \ -g0 \ -s \ -Wl,--build-id=none \ -Wl,-e,_start \ "$fixture_directory/launcher.S" \ -o "$output" chmod 0644 "$output"