#!/bin/bash # Check if ./target/wasi-sdk exists if [ ! -d "./target/wasi-sdk" ]; then echo "WASI SDK not found, downloading v25..." # Determine OS and architecture OS=$(uname -s | tr '[:upper:]' '[:lower:]') ARCH=$(uname -m) # Map architecture names to WASI SDK format case $ARCH in x86_64) ARCH="x86_64" ;; arm64|aarch64) ARCH="arm64" ;; *) echo "Unsupported architecture: $ARCH" exit 1 ;; esac # Map OS names to WASI SDK format case $OS in darwin) OS="macos" ;; linux) OS="linux" ;; mingw*|msys*|cygwin*) OS="mingw" ;; *) echo "Unsupported OS: $OS" exit 1 ;; esac # Construct download URL WASI_SDK_VERSION="25" WASI_SDK_URL="https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-${ARCH}-${OS}.tar.gz" echo "Downloading from: $WASI_SDK_URL" # Create target directory if it doesn't exist mkdir -p ./target # Download and extract curl -L "$WASI_SDK_URL" | tar -xz -C ./target # Rename the extracted directory to wasi-sdk mv "./target/wasi-sdk-${WASI_SDK_VERSION}.0-${ARCH}-${OS}" "./target/wasi-sdk" echo "WASI SDK v25 installed successfully" else echo "WASI SDK already exists at ./target/wasi-sdk" fi