Major changes: - LLVM backend initial implementation (compiler.rs, llvm mode) - Semantics layer integration in interpreter (operators.rs) - Phase 12 plugin architecture revision (3-layer system) - Builtin box removal preparation - MIR instruction set documentation (26→Core-15 migration) - Cross-backend testing infrastructure - Await/nowait syntax support New features: - LLVM AOT compilation support (--backend llvm) - Semantics layer for interpreter→VM flow - Tri-backend smoke tests - Plugin-only registry mode Bug fixes: - Interpreter plugin box arithmetic operations - Branch test returns incorrect values Documentation: - Phase 12 README.md updated with new plugin architecture - Removed obsolete NYIR proposals - Added LLVM test programs documentation Co-Authored-By: Claude <noreply@anthropic.com>
23 lines
862 B
Bash
23 lines
862 B
Bash
#!/bin/bash
|
|
# Build Windows exe with LLVM from WSL using cross compilation
|
|
|
|
echo "Setting up Windows cross-compilation with LLVM..."
|
|
|
|
# Set environment variables for WSL cross-compilation
|
|
export LLVM_SYS_180_PREFIX="C:\\LLVM-18"
|
|
export LLVM_SYS_180_FFI_WORKAROUND="1"
|
|
export LLVM_SYS_NO_LIBFFI="1" # This is the key!
|
|
|
|
# Use cargo-xwin for cross compilation
|
|
echo "Building nyash.exe for Windows with LLVM support..."
|
|
cargo xwin build --target x86_64-pc-windows-msvc --release --features llvm -j32
|
|
|
|
# Check if successful
|
|
if [ -f "target/x86_64-pc-windows-msvc/release/nyash.exe" ]; then
|
|
echo "Build successful!"
|
|
ls -la target/x86_64-pc-windows-msvc/release/nyash.exe
|
|
else
|
|
echo "Build failed - nyash.exe not found"
|
|
echo "Checking what was built:"
|
|
ls -la target/x86_64-pc-windows-msvc/release/ 2>/dev/null || echo "Target directory not found"
|
|
fi |