Add Linux Compatibility and Build Scripts#1
Merged
el-dockerr merged 11 commits intomainfrom Jan 30, 2026
Merged
Conversation
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.
This pull request introduces comprehensive cross-platform (Windows and Linux) build and runtime support for the GhostMem project. It adds CMake-based and direct build scripts, updates the documentation for cross-platform usage, and implements Linux-specific memory management and page fault handling. The changes modernize the build process, clarify platform requirements, and enable transparent memory compression on both Windows and Linux.
Cross-platform build and CI improvements:
CMakeLists.txt, supporting static/shared libraries and test builds for both Windows and Linux, with appropriate platform-specific compiler and linker flags..github/workflows/build-and-test.yml) to automatically build, test, and perform static analysis on Windows and Linux for pull requests and pushes.build-simple.bat(Windows) andbuild-simple.sh(Linux); also added recommended build scripts using CMake:build.bat(Windows) andbuild.sh(Linux). [1] [2] [3] [4]Linux support and platform abstraction:
mmap), page protection/deprotection (usingmprotect), and SIGSEGV-based page fault handling inGhostMemoryManager.cpp, enabling transparent memory compression on Linux. [1] [2] [3] [4]#pragma onceand ensure proper includes for cross-platform compatibility.Documentation and usability improvements:
README.mdto document Linux support, build requirements, usage instructions, and output artifacts for both platforms. Added sections for quick/direct and CMake-based builds, and clarified the roadmap and limitations. [1] [2] [3]GhostMemoryManager.cpp.References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]