60 lines · 1.5 KB · Text
RawDownload
#!/bin/bash # Check if ./target/wasi-sdk existsif [ ! -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