[Feat] Add Windows platform support#19
Open
X-starRelight wants to merge 9 commits into
Open
Conversation
X-starRelight
commented
May 5, 2026
- Add Windows compatibility layer (vix_wincompat.h)
- Update Makefile to support LLVM_HOME env var for Windows
- Add Windows build script (build_win.bat)
- Fix setTargetTriple API usage for LLVM 21
- Replace setenv with _putenv on Windows
- Add realpath implementation for Windows
- Ignore *.o and *.exe in .gitignore
- Add Windows compatibility layer (vix_wincompat.h) - Update Makefile to support LLVM_HOME env var for Windows - Add Windows build script (build_win.bat) - Fix setTargetTriple API usage for LLVM 21 - Replace setenv with _putenv on Windows - Add realpath implementation for Windows - Ignore *.o and *.exe in .gitignore
- Build vixc compiler on Ubuntu (make) and Windows (MSYS2 + mingw32-make) - Download and verify built compiler before testing - Run test suite using test/run.py with Python - Support artifact upload for both platforms - Add release job for version tags (v*) - Update .gitignore to ignore *.o and *.exe files
…Windows - Linux: Use src/install.sh to install dependencies (clang, llvm, flex, bison) - Windows: Use MSYS2 with MINGW64 environment for building - Set LLVM_HOME=/mingw64 in MSYS2 environment - Use mingw32-make for Windows build - Keep artifact upload and test workflow
- Fix YAML indentation error (line 163) - Windows: Use MSYS2 with manual flex/bison installation - Keep Linux apt-get install for dependencies - Remove auto-release job - Keep artifact upload and test workflow
- Fix setTargetTriple: use .str() to convert Triple to StringRef - Fix createTargetMachine: pass string instead of Triple object - Force -fexceptions flag after llvm-config flags in Makefile - Fix CodeGen.cpp, Llc.cpp, Passes.cpp for LLVM API changes
- Fix: getTargetTriple() returns std::string, not Triple - Remove .str() call that doesn't exist on std::string - Fix MSYS2: use 'flex' and 'bison' instead of wrong package names - Keep -fexceptions flag for C++ exception support
- Download and install LLVM 18.1.8 from GitHub releases - Remove MSYS2 dependency (was installing LLVM 16) - Keep Win flex-bison from Chocolatey for parser generation - Source code already uses LLVM 18 API (.str(), Triple objects) - Windows build now matches Linux LLVM 18 API requirements
Member
|
Hello?This branch maybe has conflicts that must be resolved. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.