Phase 11-12: LLVM backend initial, semantics layer, plugin unification
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>
This commit is contained in:
23
build_llvm_wsl_msvc.sh
Normal file
23
build_llvm_wsl_msvc.sh
Normal file
@ -0,0 +1,23 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user