Adding MinGW/GCC Compiler support for Cross-Platform Development #347
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.
Summary
This PR introduces necessary changes to the build system, CMake files, and source code to enable successful compilation and running of BitNet using MinGW (Minimalist GNU for Windows) and GCC compiler.
This change significantly improves cross-platform compatibility and allows developers who prefer or require open-source toolchains (like those on Linux or using MinGW on Windows) to contribute and utilize the project without relying on Microsoft Visual C++ (MSVC).
Key Changes
The modifications span build logic and low-level kernel definitions to ensure seamless compatibility with the GNU toolchain:
- Resolve MSVC-specific syntax or intrinsic function calls.
- Implement conditional compilation logic (via preprocessor checks) to ensure the core kernel behavior is correct when compiled under GCC.
Testing
successfully compiled and run essential tests/examples using MinGW toolchain to verify functionality.
Testing Environment:
Operating System: Windows 11
Compiler: MinGW (GCC 15.1.0, built by MSYS2)
Build System: CMake 4.1.1