#!/usr/bin/env bash set -euo pipefail D8_FLAGS_BASE="${D8_FLAGS_BASE:---allow-natives-syntax --expose-gc --maglev}" if [[ $# -lt 2 ]]; then echo "usage: $0 [args...]" >&2 exit 1 fi D8_BIN="$1" JS_FILE="$2" shift 2 if [[ "$D8_BIN" != /* ]]; then D8_BIN="$PWD/$D8_BIN" fi if [[ "$JS_FILE" != /* ]]; then JS_FILE="$PWD/$JS_FILE" fi if [[ ! -x "$D8_BIN" ]]; then echo "missing d8 at: $D8_BIN" >&2 exit 1 fi if [[ ! -f "$JS_FILE" ]]; then echo "missing js file at: $JS_FILE" >&2 exit 1 fi D8_OUT="$(cd "$(dirname "$D8_BIN")" && pwd)" export LD_LIBRARY_PATH="$D8_OUT${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" exec "$D8_BIN" ${D8_FLAGS_BASE} ${D8_FLAGS_EXTRA:-} "$JS_FILE" "$@"