Files
nessi caec578985 refactor: add PATH search logic to cargo-xwin wrapper script to find real binary outside script directory
Replace direct cargo xwin execution with PATH traversal to locate actual cargo-xwin binary outside script's own directory. Add error handling with installation instructions when binary not found. Skip script's own directory and empty PATH entries during search.
2026-03-18 10:56:58 +01:00

36 lines
789 B
Bash

#!/usr/bin/env bash
set -eu
if ! command -v clang-cl >/dev/null 2>&1; then
echo "clang-cl is required for Windows cross-builds on Linux."
echo "Install LLVM/Clang toolchain first, for example on Ubuntu:"
echo " sudo apt update"
echo " sudo apt install -y clang lld llvm"
exit 1
fi
SELF_DIR="$(cd "$(dirname "$0")" && pwd)"
REAL_CARGO_XWIN=""
IFS=':'
for dir in ${PATH}; do
if [ -z "${dir}" ] || [ "${dir}" = "${SELF_DIR}" ]; then
continue
fi
if [ -x "${dir}/cargo-xwin" ]; then
REAL_CARGO_XWIN="${dir}/cargo-xwin"
break
fi
done
unset IFS
if [ -z "${REAL_CARGO_XWIN}" ]; then
echo "cargo-xwin binary was not found outside ${SELF_DIR}."
echo "Install it with:"
echo " cargo install --locked cargo-xwin"
exit 1
fi
exec "${REAL_CARGO_XWIN}" "$@"