Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions osx-run/osx-run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,15 @@ export DEBIAN_FRONTEND=noninteractive
/usr/bin/sudo apt-get update
/usr/bin/sudo apt-get install -y build-essential clang lld cmake git patch python3 xz-utils curl libssl-dev liblzma-dev libxml2-dev bzip2 cpio zlib1g-dev uuid-dev ninja-build pkg-config ca-certificates
f=""
for cand in "$(command -v ld64.lld || true)" /usr/bin/ld64.lld-* /usr/lib/llvm-*/bin/ld64.lld /usr/bin/ld.lld /usr/lib/llvm-*/bin/ld.lld; do [ -n "$cand" ] && [ -x "$cand" ] && { f="$cand"; break; }; done
if [ -z "$f" ]; then /usr/bin/sudo apt-get install -y lld || true; for cand in "$(command -v ld64.lld || true)" /usr/bin/ld64.lld-* /usr/lib/llvm-*/bin/ld64.lld /usr/bin/ld.lld /usr/lib/llvm-*/bin/ld.lld; do [ -n "$cand" ] && [ -x "$cand" ] && { f="$cand"; break; }; done; fi
[ -n "$f" ] || { echo ld64.lld not found; exit 1; }
/usr/bin/sudo ln -sf "$f" /usr/local/bin/ld64.lld
for cand in "$(command -v ld64.lld || true)" "$HOME/.local/bin/ld64.lld" /usr/lib/llvm-*/bin/ld64.lld /usr/bin/ld64.lld-* /usr/lib/llvm-*/bin/ld.lld /usr/bin/ld.lld*; do [ -n "$cand" ] && [ -x "$cand" ] && { f="$cand"; break; }; done
if [ -z "$f" ]; then /usr/bin/sudo apt-get install -y lld-18 || /usr/bin/sudo apt-get install -y lld; for cand in "$(command -v ld64.lld || true)" "$HOME/.local/bin/ld64.lld" /usr/lib/llvm-*/bin/ld64.lld /usr/bin/ld64.lld-* /usr/lib/llvm-*/bin/ld.lld /usr/bin/ld.lld*; do [ -n "$cand" ] && [ -x "$cand" ] && { f="$cand"; break; }; done; fi
[ -n "$f" ] || { echo "Required dependency 'ld64.lld' is not installed"; exit 1; }
d="$HOME/.local/bin"
mkdir -p "$d"
ln -sf "$f" "$d/ld64.lld"
PATH="$d:$PATH"
export PATH
command -v ld64.lld >/dev/null 2>&1 || { echo "Required dependency 'ld64.lld' is not installed"; exit 1; }
/usr/bin/sudo mkdir -p "$OSXCROSS_ROOT"
/usr/bin/sudo chown "$(id -u)":"$(id -g)" "$OSXCROSS_ROOT"
cd "$OSXCROSS_ROOT"
Expand Down