41 lines
1019 B
Bash
Executable File
41 lines
1019 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
ODIN_DIR="$HOME/.odin"
|
|
|
|
echo "Installing Odin build dependencies..."
|
|
sudo xbps-install -S
|
|
sudo xbps-install -y llvm18-devel clang18 git-lfs base-devel
|
|
|
|
git lfs install --force
|
|
|
|
echo "Cloning Odin repository..."
|
|
if [ -d "$ODIN_DIR" ]; then
|
|
echo "Directory $ODIN_DIR already exists. Pulling latest..."
|
|
cd "$ODIN_DIR" && git pull
|
|
else
|
|
git clone https://github.com/odin-lang/Odin "$ODIN_DIR"
|
|
cd "$ODIN_DIR"
|
|
fi
|
|
|
|
# Detect available LLVM 18 config tool name on Void
|
|
LLVM_CFG=""
|
|
for cfg in llvm-config-18 llvm-config18 llvm-config; do
|
|
if command -v "$cfg" >/dev/null 2>&1; then
|
|
LLVM_CFG="$cfg"
|
|
break
|
|
fi
|
|
done
|
|
|
|
if [ -z "$LLVM_CFG" ]; then
|
|
echo "❌ Error: Could not locate a valid llvm-config binary."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Building Odin compiler using $LLVM_CFG..."
|
|
LLVM_CONFIG="$LLVM_CFG" make release-native
|
|
|
|
echo ""
|
|
echo "✓ Odin install complete."
|
|
echo " Add to your path if needed: export PATH=\"\$HOME/.odin:\$PATH\""
|
|
echo " Then verify with: odin version"
|