Files
hakorune/build_win_aot.bat
Moe Charm 11506cee3b 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>
2025-09-01 23:44:34 +09:00

52 lines
1.3 KiB
Batchfile

@echo off
setlocal ENABLEDELAYEDEXPANSION
chcp 65001 >nul
echo [Nyash AOT Build - libffi disabled]
echo ===================================
REM Set LLVM environment variables
set "LLVM_SYS_180_PREFIX=C:\LLVM-18"
set "LLVM_SYS_NO_LIBFFI=1"
set "LLVM_SYS_180_FFI_WORKAROUND=1"
echo LLVM_SYS_180_PREFIX=%LLVM_SYS_180_PREFIX%
echo LLVM_SYS_NO_LIBFFI=%LLVM_SYS_NO_LIBFFI%
REM Verify LLVM installation
if not exist "%LLVM_SYS_180_PREFIX%\include\llvm-c\Core.h" (
echo ERROR: Core.h not found at %LLVM_SYS_180_PREFIX%\include\llvm-c\Core.h
exit /b 1
)
if not exist "%LLVM_SYS_180_PREFIX%\lib\cmake\llvm\LLVMConfig.cmake" (
echo ERROR: LLVMConfig.cmake not found at %LLVM_SYS_180_PREFIX%\lib\cmake\llvm\LLVMConfig.cmake
exit /b 1
)
echo LLVM installation verified successfully!
REM Add LLVM to PATH
set "PATH=%LLVM_SYS_180_PREFIX%\bin;%PATH%"
REM Clean and build
echo.
echo Cleaning previous build...
cargo clean
echo.
echo Building Nyash with LLVM AOT support (no libffi)...
cargo build --bin nyash --release --features llvm
REM Check result
echo.
if exist "target\release\nyash.exe" (
echo SUCCESS: nyash.exe built successfully!
echo.
dir target\release\nyash.exe
) else (
echo ERROR: Build failed - nyash.exe not found
exit /b 1
)
endlocal