ساخت از مبدأ

    گاهی اوقات می‌خواهید تازه‌ترین قطعات را داشته باشید—چه برای مشارکت در خود کوروش، چه برای آزمایش ویژگی‌های پیشرفته، یا صرفاً برای نگاهی به درون کامپایلر. ساخت از مبدأ ساده است و کنترل کامل بر زنجیره ابزار (toolchain) را به شما می‌دهد.

    پیش‌نیازها

    قبل از شروع، مطمئن شوید که موارد زیر را نصب کرده‌اید:

    • Git — برای دریافت کد منبع.
    • Rust 1.87-nightly.
    • LLVM 18.

    همچنین این کتابخانه‌های بومی مورد نیاز هستند:

    • glibc
    • clang - clang-tools
    • libffi
    • ffi
    • ffi-dev
    • isl
    • libxml2

    در لینوکس

    ابتدا فهرست بسته‌های خود را به‌روزرسانی کنید:

    sudo apt update
    

    وابستگی‌ها را نصب کنید:

    sudo apt install -y git \
        build-essential \
        clang \
        clang-tools \
        llvm-18 \
        llvm-18-dev \
        libffi-dev \
        libisl-dev \
        libxml2-dev \
        libc6-dev
    

    Rust را با استفاده از rustup نصب کنید:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    rustup toolchain install nightly-2025-01-01
    rustup default nightly-2025-01-01
    

    نصب را تأیید کنید:

    git --version
    rustc --version
    llvm-config --version
    

    مک‌اواس (از طریق Homebrew):

    وابستگی‌ها را از طریق Homebrew نصب کنید:

    brew install git \
        llvm@18 \
        clang \
        libffi \
        isl \
        libxml2
    

    مطمئن شوید LLVM هوم‌برو در مسیر شما قرار دارد (به ~/.zshrc یا ~/.bashrc اضافه کنید):

    export PATH="/opt/homebrew/opt/llvm@18/bin:$PATH"
    

    Rust را با استفاده از rustup نصب کنید:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    source $HOME/.cargo/env
    rustup toolchain install nightly-2025-01-01
    rustup default nightly-2025-01-01
    

    نصب را تأیید کنید:

    git --version
    rustc --version
    llvm-config --version
    

    در ویندوز:

    به زودی...

    کلون کردن مخزن

    git clone --depth=1 https://github.com/cyrus-lang/Cyrus.git
    cd Cyrus
    

    از ریشه پروژه:

    cargo build -j24
    

    این دستور باینری کامپایلر کوروش را در target/release/cyrus تولید می‌کند.